Visualizza versione completa : Creare immagini jpeg o gif in Java
DavideDave
31-08-2001, 12.16.17
Ciao a tutti!
il mio problema è il seguente; devo sviluppare una classe Java la quale, passandole dei dati riguardanti degli impiegati di un'azienda, deve creare un'immagine gif o jpg (preferibilmente gif dato il tipo di immagine) rappresentante il diagramma ad albero dell'azienda stessa.
Io so disegnare su un Frame utilizzando AWT, ma come faccio poi a ricavare un file gif dallo stesso? La strada è giusta?
Spero di essere stato chiaro...
in attesa di un vostro cordiale aiuto...
VI SALUTO!!
newuser
02-09-2001, 11.03.22
Probabilmente devi estendere le classi della gerarchia Java2D che fanno parte delle estensioni standard di java. Il package Java 2d da tutti gli strumenti per il disegno e dovrebbe fornire anche i metodi per aprire o salvare le immagini in file.
DavideDave
03-09-2001, 09.53.15
Ti ringrazio!
Il mio problema però è allora come catturare ciò che ho disegnato su un Frame e salvarlo come gif o jpeg. E mi sono spulciato tutti i Javadoc senza ancora capire come....
newuser
04-09-2001, 20.57.04
Non ho mai scritto una linea di codice in Java in vita mia e non vorrei indicarti una strada sbagliata.
Credo però che il bitmap di un frame non sia accessibile perchè la conoscenza dello stesso rigurda l'OS che ospita la JVM: per raggiungere tale livello si usa l'accesso diretto all'hardware oppure l'api dell'OS, in ogni caso sistemi inutilizzabili in Java.
L'unico sistema che credo possibile è quello di creare ex-novo un'istanza della classe Image, che potrai poi salvare. Il problema è legato quindi alla classe utilizzata (è un JTree?) per visualizzare l'organigramma, che dovrebbe essere estesa in modo di accettare tra gli argomenti anche un oggetto image su cui replicare la visualizzazione dell'albero.
DavideDave
05-09-2001, 09.30.49
Ho trovato la soluzione e ringrazio tutti coloro che mi hanno dato consigli in merito.
In realtà l'ultimo "newuser" si è avvicinato veramente tanto: il problema non era tanto come catturare l'immagine disegnata su un Frame dopo aver utilizzato la classe Graphics: frame.getGraphics(), bensì disegnare direttamente su un immagine Image sempre con la classe Graphics (image.getGraphics()), e poi utilizzare le classi com.sun.image.codec.* per l'ultima parte del lavoro.
Spero di aver anche aiutato chiunque possa in futuro avere le mie stesse necessità, anche se ora che ho risolto capisco quanto la mia domanda fosse stata stupida.. :(
Ciao!
vBulletin® v3.8.6, Copyright ©2000-2025, Jelsoft Enterprises Ltd.