Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Compressione di un file bmp in VB usando la ridondanza dei colori

1) Mi trovo un picture, con scala in pixel, con un'immagine all'interno,
eseguo un ciclo FOR abbinato ad un POINT per individuare le proprietą dei
singoli pixel che compongono l'immagine e inserisco i valori dentro una TEXT
impostata in multiline: totale 10580 caratteri.
2) Eseguo delle split multiple del testo utilizzando come separatore i
valori dei POINT e sostituendo tali valori (es. 133693951, 13423824) con
lettere dalla A...alla J
3) Lancio un FOR per eliminare la ridondanza: es. AAAAAAJJJFFFFF = 6A3J5F
Alla fine di questi passaggi (con l'immagine che uso) ottengo una riduzione
del 95% circa dei caratteri (527)
Ovviamente la riduzione č in funzione dell'immagine da "comprimere".
La mi domanda č la seguente:
I valori che mi legge POINT sono uguali su tutti i PC (a paritą di
risoluzione e colori) oppure variano ?
Cioč se invio una stringa ad un amico con i valori letti sulla mia picture,
lui la visualizza in maniera uguale o puņ cambiare?
Ho provato sui miei PC e tutto funziona bene, ma tutti e 3 sono uguali
(scheda video ATI Rage Mobility) e quindi non mi fido....:-D
Un grazie in anticipo a chi saprą e/o vorrą rispondermi....
Ciao
_pixel_
p.i....@katamail.com
http://vbios.cjb.net

 (scheda video ATI Rage Mobility) e quindi non mi fido....:-D
Prova a cambiare il numero di colori e guarda che succede, no ? :-)
Bye, G.

Grazie
_pixel_

 risoluzione e colori) oppure variano ?
Ti conviene leggere direttamente il file.
La struttura dei BMP è tutto sommato semplice, la trovi anche in MSDN
(cercando bene) o sull'ormai famoso 
www.wotsit.org
.
Comunque il sistema da te usato è piuttosto scadente :)
Con immagini con pochi colori potresti avere un buon risultato, ma al di
sopra dei 256 col. rischi non solo di non avere vantaggi, ma di aumentare la
dimensione dell'immagine.
P.S.: hai provato a verificare che il processo sia invertibile? :)
Ciao

 P.S.: hai provato a verificare che il processo sia invertibile? :)
Ringrazio per la risposta, quanto mi dici è esatto, infatti oltre i 256
colori ti viene il "latte alle ginocchia" sia
in compressione che in decompressione...
Fortunatamente il sistema mi serve per immagini con pochi colori (16 al
max), cioè ad essere
sincero era meglio se funzionava bene con tutte le immagini ma mi basta
anche 16.
Per quanto riguarda il processo.... si, è invertibile anche se (ribadisco) è
un po' lento con immagini "pesanti".
Comunque, tanto per chiarezza, il sistema mi serve a livello di IRC per
l'invio di logo di canale tramite PRIVMSG  e, per ora, mi accontento di logo
a livello di icona.. :-)
Non mancherò di guardare anche la struttura di una bmp (come mi suggerisci).


 Ciao
Già che ci sei, dà pure un'occhiata all'algoritmo RLE,
che è quello usato dal windows per comprimere i BMP
(lo troverai mooolto simile al tuo !... :-)))
--
Er Roscio.

 (lo troverai mooolto simile al tuo !... :-)))
Ho guardato...ed ho dedotto che il "mio" sistema è una vera chiavica....
Nonostante questo "DEVO" continuare su questa strada a causa dell'utilizzo
che ne devo fare....(vedi post precedenti)


 che ne devo fare....(vedi post precedenti)
In ogni caso è un buon esercizio di programmazione...
Niente è inutile, se ti permette di affinare le tue
qualità e di capire meglio i meccanismi di programmazione,
anche a costo di riscoprire l'acqua calda cercando di
pensare con la tua testa...
--
Er Roscio.

 pensare con la tua testa...
Concordo..:-)
Vedi..io sono della vecchia guardia...e per trovare una soluzione
difficilmente cerco delle informazioni in rete...
preferisco mettermi lì e riempire un form di if... then e for... next anche
perchè, una volta trovato un sistema mi è più semplice modificarlo sulla
base di eventuali suggerimenti di chi ne sa' di più... :-)
Io sono rimasto ai miei tempi dove, per cambiare font, dovevi eseguire uno
spostamento della memoria del computer e riempire di DATA il codice.
Purtroppo questo mio modo di operare mi porta a volte ad intestardirmi nel
cercare soluzioni belle e fatte da altri....
Comunque grazie di tutto.....
