immagini

Salve atutti.
E' da poco che sto usando arduino, volevo sapere se è possibile caricare una immagine gif o 3d (modello blender) da SD e ruotarla sul display.
Per laimmagini BMP ho visto che esite la libreria UTFT che ha questa funzione, ma me serve una immagine con sfondo trasparente che se non erro le BMP non supportano.

frankz:
Salve atutti.
E' da poco che sto usando arduino, volevo sapere se è possibile caricare una immagine gif o 3d (modello blender) da SD e ruotarla sul display.

Arduino è lento, solo per visualizzare un bmp possono servire diversi secondi, ruotarla non se ne parla proprio, al massimo puoi creare semplici animazioni, tipo una barra di avanzamento, in modo vettoriale.

La versione 3 del bitmap (BMP) effettivamente non supporta le trasparenze, ma ..
... già dai tempi di Win95, Microsoft ha introdotto la versione 4 e poi la 5 del BMP che supportano il canale alfa e quindi le trasparenze.

Non conosco bene la libreria UTFT e non so quindi se supporti dette versioni del BMP ... magari, prima di impazzire, fai una verifica :wink:

Guglielmo

gpb01:
Non conosco bene la libreria UTFT e non so quindi se supporti dette versioni del BMP ... magari, prima di impazzire, fai una verifica :wink:

La UTFT la conosco bene, l'ho usata per diverse applicazioni, non supporta il canale alfa, inoltre non può leggere le immagini da SD, le codifica nel codice sotto forma di array, massimo 32k il che limita molto le dimensioni in pixel, la codifica è a 65k colori.
Le immagini vanno preventivamente convertite nel formato usato dalla UTFT con una apposita utility che genera il codice C per creare il relativo array, volendo è possibile creare l'array in ram e caricare i dati dalla SD, però questo limita ulteriormente le dimensioni in pixel per via dei pochi k di ram disponibili sugli AVR, è una cosa che può andare bene per delle icone 16x16, o 32x32, pixel, non per delle vere immagini.

L'immagine che vorrei visualizzare è quella allegata.
Ho fatto la conversione dal sito dell?autore di UTFT da gif a raw e diventa di circa 41kb,ma per UTFT vabene oppure no?
Pensavo solo al caricamento tramite tiny_fat, che mi sembra che carichi l'immagine da SD, e dovevo solo ruotarla.
Inoltre ho trovato un modello 3d su internet (non conosco la dimension, non avendo scaricato), se fosse meglio.
Oppure disegnre un semplice disegno, ma con quale libreria?
Altra soluzione alla quale ho pensato è di aggiunge della ram spi tipo 23L1024.

retro-gimp.gif

Dipende da cosa vuoi fare.
Ne abbiamo discusso recentemente, se vuoi usare molta grafica, o cambi sistema (Raspberry è molto supportato e gestisce la grafica) o usi un display "intelligente" che gestisce per conto suo tutta la parte grafica e lo colleghi via seriale quindi usi solo D0 - D1 ed hai anche tutta la memoria libera per il tuo programma (però costano molto di più).

frankz:
Pensavo solo al caricamento tramite tiny_fat, che mi sembra che carichi l'immagine da SD, e dovevo solo ruotarla.

Ti ho già detto che le UTFT non possono usare dati dalla SD, tutti gli oggetti grafici, il che include font, icone, simboli, immagini, devono essere sotto forma di array C, pertanto o le metti nella flash, nel limite di questa, oppure le puoi leggere da SD e metterle dentro un array, nel formato richiesto dalle UTFT, in RAM, però capisci da solo che è un attimo riempire la poca ram degli AVR.
Di manipolare le immagini proprio non se ne parla, non hai abbastanza memoria per farlo anche ammesso che ti accontenti di metterci diversi secondi per eseguire l'operazione, al massimo puoi fare qualcosa con piccole icone da 32x32 pixel.