martedì 2 settembre 2014

Creare immagini PMB

C'è un programmatore che si era comprato un orologio per allenarsi della Polar. Questi orologi hanno un software che permette di caricare immagini e animazioni personalizzate:
Il problema è che le immagini devono essere in formato PMB, un formato di file particolare che ha solo il bianco e nero ed è un semplice testo. Ogni riga del file di testo PMB è solo un numero che convertito in binario fornisce quali pixel sono neri e quali bianco di una colonna.
Per fortuna il nostro programmatore, conoscendo Livecode, ha creato il codice per convertire qualunque immagine in PMB; ecco il codice:

on mouseUp   
   put the imagedata of the last image into iData
   put the width of the last image into w
   put the height of the last image into h   
   put "[BitmapInfo2]" & return & w & return & h & return into fld 1   
   repeat with column = 1 to w
      put empty into theBinary
      repeat with row = 1 to h
         put (row-1) * w + column into thePixel
         if charToNum ( char ( 4 * (thePixel - 1 ) + 2 ) of iData ) > 0 then
            put 0 after theBinary
         else
            put 1 after theBinary
         end if
      end repeat      
      put baseconvert (theBinary,2,10) & return after fld 1
   end repeat


In questo modo è possibile personalizzare gli orologi della Polar con qualunque immagine. Ecco un esempio con il logo della RunRev (la casa proprietaria di Livecode):