Italian community of Lazarus and Free Pascal

Programmazione => Graphics => Topic aperto da: xinyiman - Novembre 02, 2023, 02:29:22 pm

Titolo: Esempio per la manipolazione JPG
Inserito da: xinyiman - Novembre 02, 2023, 02:29:22 pm
Ciao a tutti, nel tempo libero ho cerato un esempio per la manipolazione delle immagini JPEG con lazarus.

Trovate il repository qui: https://github.com/XinYiMan/laz_split_image

L'esempio dimostra due cose

1. Come splittare un immagine in 4 sottoimmagini (ma il 4 può variare in base a come programmate la vostra versione), trovate questa funzionalità nella schermata principale. Qui premete sul pulsante con i 3 puntini e scegliete un file jpeg. Vedrete l'immagine intera e sotto un parziale dell'immagine, se premete sui pulsanti "<<" e ">>" vi sposterete tra i parziali dell'immagine originale. Mentre se premete sul pulsante "Merge" ricomporrà l'immagine originale a partire dai parziali.

2. Come trovare le differenze tra due immagini con stessa dimensione, per provare questa funzionalità dovete premere sul pulsante "Show 2", che aprirà una seconda finestra. Qui dovete cliccare "Load img 1" e dopo "Load img 2", che caricheranno le due immagini da cui estrapolare le differenze. Fatto questo premete il pulsante "Get Difference" e comparirà una terza immagine dove vedrete i pixel diversi tra immagine1 e immagine2. Mentre con "Save To File" salverete la risultante su file system.

Mi scuso per la scarsa qualità dell'iterazione, ma è solo un esempio.



Titolo: Re:Esempio per la manipolazione JPG
Inserito da: DragoRosso - Novembre 02, 2023, 03:07:01 pm
Perchè limitarsi ad una immagine Jpeg ?

Se apri un file grafico qualsiasi supportato dalla LCL, basta usare la sua rappresentazione BitMap, che comunque usi "nascosta" quando fai lo scanline sul JPEG, e ottieni lo stesso risultato.

Di fatto JPEG, PNG, TIF, WEBP, e qualsiasi altro hanno in comune la bitmap (che è la rappresentazione "visibile" del formato proprietario).

In Lazarus, il contesto BitMap viene spesso chiamato RAW, ma è esattamente la stessa identica cosa.

Ciao
Titolo: Re:Esempio per la manipolazione JPG
Inserito da: xinyiman - Novembre 02, 2023, 03:16:22 pm
Perchè limitarsi ad una immagine Jpeg ?

Se apri un file grafico qualsiasi supportato dalla LCL, basta usare la sua rappresentazione BitMap, che comunque usi "nascosta" quando fai lo scanline sul JPEG, e ottieni lo stesso risultato.

Di fatto JPEG, PNG, TIF, WEBP, e qualsiasi altro hanno in comune la bitmap (che è la rappresentazione "visibile" del formato proprietario).

In Lazarus, il contesto BitMap viene spesso chiamato RAW, ma è esattamente la stessa identica cosa.

Ciao

Si è vero.