Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [SEMI OT] Creare Bitmap in Blocco Note

    So che potrei sembrare pazzo ma ho questa richiesta da fare:
    è possibile creare un'immagine bitmap da zero scrivendola su blocco note, ovviamente conoscendone le dimenzioni e i valori delle singole componenti di R,G e B di ogni pixel? Del tipo potrà mai funzionare un file scritto a mano e poi salvato con estensione bmp?

    Poi per la funzione in C per riempire la matrice di pixel mi arrangio... (il mio problema è sapere come è strutturato il file e come vanno impaginate intestazioni varie e righe di pixel) :master:

    Grazie per la disponibilità, se riuscite a chiarirmi le idee ve ne arei grato

    MaRKaNoID

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Tecnicamente è fattibile. Solo che non è così semplice: cerca del materiale che ti illumini sulla struttura dei file Bitmap così potrai constatare che la cosa è fattibile.

    In pratica, un file bitmap consiste in un'intestazione: ogni byte (o coppia di byte) corrisponde ad un campo dell'intestazione che ha un proprio significato. Alcuni campi sono i seguenti:

    DIMENSIONE DELL'IMMAGINE (larghezza, altezza in pixel)
    PROFONDITA' DI COLORE (b/w, 4 colori, 8 colori, 16 colori, 256 colori... ecc)
    BYTE RISERVATI
    ...

    Poi c'è la parte dei dati... se non ricordo male questa parte è abbastanza semplice, ma rispetta una struttura particolare: i primi byte corrispondono agli ultimi pixel dell'immagine (in basso a destra) e vengono memorizzati per righe: prima l'ultima riga, poi la penultima, ecc...

    Cerca con Google e qualcosa trovi di sicuro.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    http://www.galileimirandola.it/frattali/nuova_pa6.htm (è tra le pillole in rilievo)

    p.s. prova a creare un solo pixel nero (1x1) con PAINT (salvalo come bitmap 24 bit) e poi leggi/studia il file aprendolo con NOTEPAD

    ---

    ...altra discussione utile: http://forum.html.it/forum/showthrea...ghlight=bitmap
    ...Terrible warlords, good warlords, and an english song

  4. #4
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Ho provato per un solo pixel 489.570 bytes da guardare :maLOL: .

    Se lo provi ad aprire con un editor esadecimale si capisce molto meglio.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  5. #5
    Originariamente inviato da netarrow
    Ho provato per un solo pixel 489.570 bytes da guardare :maLOL: .

    Se lo provi ad aprire con un editor esadecimale si capisce molto meglio.

    una bitmap 24 bit (1x1) pesa 58 byte
    ...Terrible warlords, good warlords, and an english song

  6. #6
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da Johnny_Depp
    una bitmap 24 bit (1x1) pesa 58 byte
    ora ho capito, risolto.
    Interessava anche a me grazie

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  7. #7
    Scusate ma ci ho capito pochino... Trattatemi come se fossi assolutamente imbecille...

    1) Ho provato a creare l'immagine 1x1 a 24 bit, ma se la apro con notepad non mi dà un risultato granchè comprensibile
    2) Aprirla con un editor esadecimale? Che significa? Quale, per esempio? E che cosa ci capisco poi?
    3) Non è che si trova un esempio di "bmp vuota" da riempire solo con dimensioni, profondità di colore e matrice di pixel rgb?

    Abbiate pazienza ma le mie conoscenze in questo campo sono molto limitate...

  8. #8
    Io ho da poco fatto un programma in java identico simile photoshop (include filtri, ridimensionamenti, curve colori etc), con tanto di apertura e salvataggio file.

    Ho utilizzato le librerie JAI che hanno incapsulato in maniera trasparente le strutture dei file di immagine.

    Io credo ti sia inutile "riscoprire l'acqua calda", sicuramente in C ci saranno delle librerie atte ad aprire un file ed a memorizzarlo in una struttura quale una matrice (o più matrici a seconda del numero di bande).
    Inoltre se una libreria esiste già, i suoi algoritmi saranno sicuramente il massimo a livello computazionale

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Un editor esadecimale è un programma che apre un file e te lo fa vedere, byte per byte, in esadecimale. Praticamente tutti hanno anche una parte che visualizza ciascun carattere anche in codice ASCII (praticamente ti fa vedere anche i caratteri). Un semplicissimo editor lo puoi trovare qui oppure cercando con Google.

    Ad esempio, se tu hai un file testuale con la sola scritta "CIAO A TUTTI QUANTI VOI", un editor esadecimale te lo visualizza in questo modo:
    codice:
    0000 | 43 49 41 4F 20 41 20 54 55 54 54 49 20 51 55 41 | CIAO A TUTTI QUA
    0010 | 4E 54 49 20 56 4F 49                            | NTI VOI
    La prima colonna indica da quale byte comincia il blocco di 16 byte della riga.
    La seconda colonna ti dà il dump esadecimale di ciascuno dei 16 byte del blocco.
    La terza riga visualizza i corrispondenti caratteri ASCII del blocco.


    Il Blocco Note non è il programma migliore con cui aprire file che non siano testuali (nemmeno per file testuali con formattazioni e tabulazioni): molti caratteri, infatti, vengono tradotti, semplicemente, con un quadratino bianco (o nero) senza distinzione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    Se masticate un po' di inglese (è semplice), qui trovate un'ottima guida:

    http://www.wotsit.org/download.asp?f=bmp
    I've got a bike. You can ride it if you like.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.