Utente:Alex brollo/hOCR

Da Wikisource.
Jump to navigation Jump to search

Pagina test precaricata: Pagina:Opere matematiche (Cremona) II.djvu/99

// Estrae i paragrafi da un hOCR caricato in una pagina
// vedi  pagina test Discussioni pagina:Opere matematiche (Cremona) II.djvu/99
testo=[];
$.each($(".ocr_par"), function (index,value) {testo.push($(this).text());});


  • Test con img inscritta; codice:
<div id="buco" style="width:600px; height:200px; border: 1px dotted red; overflow: hidden">[[file:test.png|728px]]</div>

 L'elemento document.getElementById("buco") può essere fatto scrollare verso il basso con element.scrollTop e element.scrollLeft
 es: document.getElementById("buco").scrollTop +=50
 document.getElementById("buco").scrollLeft +=50

Questa funzione riceve l'elemento "buco" e le quattro coordinate di una parola qui sotto, adatta "buco" alla parola e la visualizza.

function scroll(element,x,y,x1,y1) {
  x=Math.round(x/2000*728);
  y=Math.round(y/2000*728);
  x1=Math.round(x1/2000*728);
  y1=Math.round(y1/2000*728); 
  $(element).css("width",x1-x); 
  $(element).css("height",y1-y); 
  element.scrollLeft=x; 
  element.scrollTop=y; 
}

Questo aggiunge a tutti gli .ocrx_word l'evento onclick="test(this)":
$(".ocrx_word").attr("onclick","test(this)");

Funzione test:
function test(x) {alert(x.attributes.title.value);}

oppure in jQuery l'equivalente:
function test(x) {alert($(x).attr("title"));}


Risolto il problema dello spostamento in sottofondo di un'immagine dentro una div, che viene dinamicamente ridimensionata, allora questo trucco evita qualsiasi necessità di "colloquio" con il server; l'immagine viene caricata una sola volta in una sola div permanente, e nelle varie visualizzazioni richieste da una funzione onclick incorporata in ciascun elemento di hOCR viene semplicemente spostata (per farla comparire vicino all'elemento hOCR), ridimensionata, e ritoccata nei due valori x e y dello scostamento dell'overflow.

Può essere anche fatta comparire all'interno di una div "operativa", un box in cui siano contenuti altri dati e altri strumenti (pulsanti di attivazione di tools, form, contesto - parole attorno alla parola).... e può essere "riciclata" un numero infinito di volte. Ovviamente, stante la identità fra codice pagina e codice html attivo, le modifiche possono essere registrate nel codice pagina riflettendo le modifiche del codice html attivo.

Prossimi passi:

  • lavorare sulla funzione test() per farle fare qualcosa di meglio
  • implementare le funzioni in un tool hOCR in modo che vengano rese immediatamente disponibili

Manipolazione immagini via js

  • le immagini caricate sono nell'array document.images;
  • l'url è.elemento per elemento, nell'attributo .src:
  • creando un nuovo oggetto-immagine con var picture= new Image() si crea un elemento img vuoto a cui si può assegnare l'attributo src ottenendo un clone. Assegnando poi all'elemento altri attributi (es width) l'immagine può esser ridimensionata. L'elemento può essere appeso a elementi pre-esistenti del DOM.


Test.png


OPERE MATEMATICHE

DI

LUIGI CREMONA

PUBBLICATE SOTTO GL1 AUSPICI DELLA R. ACCADEMIA DE] LINCEI

TOMO SECON DO

Con fototipia dei Monumento eretto a1l’Autore nella R. Scuola d’Applica7.ione per gli lngegneri di Roma

ULRICO HOEPLI

EDITORE—I-1BRAjO DELLA mm. CASA MILANO

1915