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

    Conversione Di Immagini Da .bin E .asc In Jpeg

    Ciao a tutti!!!
    dato che sono nuovo del forum e mi presento...Sono Valerio e sono uno studente di informatica. Dato che le innumerevoli informazioni in questo forum mi hanno aiutato in diverse circostanze, vorrei provare a porre il mio problema...
    Devo creare un'applicazione che mi permetta di trasformare file .bin e .asc in .jpg. Non ho vincoli rigurado il linguaggio di programmazione da utilizzare, ma io avevo pensato a java (quello con cui mi trovo meglio) o al massimo al c (ma proprio al massimo...)
    I problemi cominciano subito, non riesco in nessun modo a prendere in input uno dei files .bin o .asc che devo modificare...Esiste qualche struttura (classe, metodo,...) in java che mi permetta di aprire questi files per poi poterli convertire???

    Grazie 1000

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Conversione Di Immagini Da .bin E .asc In Jpeg

    Originariamente inviato da Valeri1
    Devo creare un'applicazione che mi permetta di trasformare file .bin e .asc in .jpg.
    Qui inizia la prima questione. Ovvero che cosa sono e cosa contengono questi file .bin/.asc??? Infatti queste due estensioni dicono ben poco .... anzi nulla!! Nel senso che non sono estensioni che identificano in modo abbastanza chiaro un qualche formato più o meno standard/conosciuto (es. .gif o .png o altro). Una estensione .bin in genere fa presupporre un file "binario" in un qualche formato e una estensione .asc in genere fa pensare ad un file di "testo" ASCII ... comunque testo puro.
    Ma cosa contengano esattamente e in quale formato è tutto da stabilire e precisare.

    Originariamente inviato da Valeri1
    I problemi cominciano subito, non riesco in nessun modo a prendere in input uno dei files .bin o .asc che devo modificare...Esiste qualche struttura (classe, metodo,...) in java che mi permetta di aprire questi files per poi poterli convertire???
    In Java ci sono tutta una serie di classi nel package java.io del framework. E quale o quali classi usare dipende anche molto dal modo di lettura che si deve usare. Se si tratta di file binari, si parte in genere con un FileInputStream, eventualmente "wrappato" in un BufferedInputStream se si vuole la bufferizzazione. Se si devono leggere vari tipi di dati binari (es. int, long ecc...) si può anche usare un DataInputStream.

    Se si tratta di file di testo ci sono varie possibilità: usare FileReader oppure un FileInputStream wrappato in un InputStreamReader. Se si vuole poi leggere "a righe" si può wrappare a sua volta il Reader (FileReader o InputStreamReader che sia...) in un BufferedReader.

    Insomma ... ci sono svariate possibilità, ma è necessario che tu conosca bene cosa devi fare di preciso e che tu abbia una discreta conoscenza di come funziona l'I/O in Java e su cosa offre il package java.io.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Conversione Di Immagini Da .bin E .asc In Jpeg

    Ciao Andrea! Hai ragione sono stato molto poco preciso nel descrivere la situazione...ma anche le specifiche in mio possesso sono altrettanto poco precise
    Ad ogni modo cerco di spiegarmi meglio: io ho diversi files binari e ascii che devo passare come input...Questi files dovrebbero essere file di testo. Aprendoli con il blocco note mi compaiono insiemi di caratteri di questo tipo:

    file ascii (.asc)
    52
    63
    62
    63
    67
    79
    85
    87
    ...

    file binario (.bin)
    ‰‰ˆ„‚ƒƒ‚„„‚‚ƒ†…†ˆˆ‰Œ‹ˆ…………„‡‘•—’Šˆ†}vqg^TH> ;:44<;56<@:789;<=BC@?AA?BE?=?><;?@=?CCBBBA?@FJKMNJ EEGJKIHILLECDCGJIHDBBDEABFE?;>?=<?CFBCHEBCGG@77712 1*+4510359;82.)&,21--//)! %*Fbqz~ypnkQ/ 
    

    Il mio grande problema sta nel prendere in input files di questo genere ed arrivare ad ottenere le coordinate RGB dell'immagine che sono rappresentate.
    Non sono sicuro di essere stato chiaro anche questa volta...e mi dispiace, ma spero che riesci a decifrare e ad indicarmi una strada valida!

    Tnx!!!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Conversione Di Immagini Da .bin E .asc In Jpeg

    Originariamente inviato da Valeri1
    Il mio grande problema sta nel prendere in input files di questo genere ed arrivare ad ottenere le coordinate RGB dell'immagine che sono rappresentate.
    Non sono sicuro di essere stato chiaro anche questa volta...e mi dispiace, ma spero che riesci a decifrare e ad indicarmi una strada valida!
    No purtroppo. A questo punto è ormai chiaro che hai dei file di testo e dei file binari. Ma non è affatto chiaro cosa contengono e come interpretarli per ottenere una immagine!!!

    Hai fatto l'esempio di file di testo: ok ma quei numeri 52, 63, 62 ecc.... che cosa sono?? Sono i singoli valori R/G/B dei pixel? Sono dei valori da interpretare su 8 bit (0-255) come tonalità di grigio di un singolo pixel? O altro??

    E per quanto riguarda il file binario è ancora meno chiaro. Non si capisce assolutamente nulla di cosa contenga il file. Anche qui quale è il formato? Forse ogni 3 byte si ha il colore di 1 pixel? Oppure ogni byte rappresenta un pixel? Oppure il formato è un altro??


    Ripeto che se vuoi gestire questi file, devi sapere cosa contengono e quale è il loro formato. Se non lo sai nemmeno tu, nessuno può aiutarti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    Conversione Di Immagini Da .bin E .asc In Jpeg

    Caro Andrea!
    Ora dovrei esserci...Dunque tanto per cominciare non devo utilizzare entrambi i tipi di file ma uno che preferisco, ho scelto i .asc (sono da 256x256 pixel). Questi file contengono dei valori come ti ho detto precedentemente e questi valori sono i valori dei singoli colori. Mi spiego meglio: essendo questo file .asc a livelli di grigio, ognuno di questi valori rappresenta il livello di grigio (0-255) di ogni pixel.
    Dopo aver chiarito queste cose ho iniziato a vedermi i vari InputStream da utilizzare per poter leggere i valori contenuti in questo file. La mia idea è quella di mettere all'interno di un ciclo il metodo di InputStream che mi permetta di leggere un valore per volta e, dopo averlo letto, inserirlo direttamente in una matrice 256x256.
    A questo punto ti chiedo un consiglio sulla fattibilità di questa idea e, quale struttura è meglio utlilizzare per leggere i valori.

    Spero di essere stato più chiaro questa volta...

    Grazie anticipatamente per la risposta...

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Conversione Di Immagini Da .bin E .asc In Jpeg

    Originariamente inviato da Valeri1
    Spero di essere stato più chiaro questa volta...
    Sì, ora è un po' più chiaro. Se hai scelto i file .asc (testo) va bene, anche se a dire il vero quello binario sarebbe stato più semplice da gestire. Questo perché il file di testo contiene dati testuali che devi interpretare e convertire in valori numerici.

    Dal tuo esempio dei file, deduco che nel file di testo ogni riga contiene 1 solo valore. Bene. A questo punto devi usare le classi di I/O per leggere il file di testo. Ma un FileInputStream non basta, "sa" solo come operare con i byte del file, mentre tu devi operare con caratteri e per essere più precisi, con linee di testo.
    Quindi dovresti creare un BufferedReader (che ha il readLine()) creandolo passando nel costruttore un FileReader oppure un InputStreamReader a sua volta creato con un FileInputStream.

    A quel punto leggi il file "a righe" con readLine() e converti la stringa che rappresenta un numero in un valore numerico. Il valore numerico lo metti ...... beh, qui inizia la seconda parte. Devi creare una immagine, che sia JPEG o altro non è subito importante, sarà importante alla fine, quando dovrai salvare la immagine su disco.

    In Java le immagini si gestiscono attraverso la classe Image e nel tuo caso devi creare un BufferedImage (che estende Image). Una volta che hai creato un BufferedImage di NxM pixel, ci sono diversi modi per scrivere i valori dei pixel, il più semplice è usare setRGB().

    Una volta che hai riempito tutti i pixel del BufferedImage, puoi scrivere la immagine su disco ad esempio tramite la classe javax.imageio.ImageIO.

    Inizia a vedere le classi che ho menzionato, se non è chiaro chiedi pure.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.