Newsgroup: it.comp.java
Titolo: Grafica 2D, immagini in memoria e visualizz.

Ho bisogno di convertire in java un programma di disegno scritto in C. Per
il momento il lavoro promette bene, ma sono un po' in crisi in quanto non
riesco a capire quale classe tra le disponibili in java permetta di
manipolare con sufficiente autonomia le immagini raster in memoria, a
livello dei singoli pixel.
Per esempio, ho la necessitą di eseguire un metodo che si occupa del
riempimento di aree aventi uguale colore (secchiello). Per fare questo mi
serve poter sapere quale colore si trova nel punto (X,Y) di una data
immagine. In C questo si ottiene in modo semplice ed immediato, mentre in
java mi sono perso tra miliardi di classi, ognuna con metodi particolari ma
non adatti allo scopo.
Ho letto con attenzione la documentazione ufficiale sulle API Java2D della
Sun e mi č sembrata molto approssimativa, per non dire pessima (o forse sono
scemo io ...). Chiedo quindi se gentilmente potreste indicarmi qualche link
dove trovare esempi, Tutorial sull'argomento oppure mostarmi con qualche
linea di codice quale strada seguire.
Grazie per l'aiuto.

 livello dei singoli pixel.
se usi la classe BuffereImage, hai a disposizione i metodi getRGB e setRGB
ciao_O
Andrea

 
Ho provato con BufferedImage e hai ragione, i get/setRGB funzionano
perfettamente, grazie del consiglio. L'unico problema č che su una
BufferImage non esistono metodi del tipo drawLine ecc... e quindi č
impossibile disegnare tracciati "continui": si ottengono solo una serie di
puntini separati. Dovrei poter utilizzare i metodi della classe Graphics o
Graphics2D su una BufferedImage e poi controllare tutti i pixel con i soliti
get/setRGB ma non so davvero come!!  ... tutti i suggerimenti sono ben
accetti! Ciao

get/setRGB ma non so davvero come!!
Inizia a leggere la documentazione di BufferedImage (mi sembra il 
minimo) e, in particolare, dei metodi
createGraphics()
e
getGraphics()
HTH
-- 
Ciao
	Fabrizio C.

 HTH
Ho fatto ed è tutto OK, che soddisfazione! Il programma gira alla
perfezione! All'inizio l'approccio alla grafica 2D in java mi sembrava
inutilmente macchinoso rispetto al C, ma adesso ritiro tutto, è 1000 volte
meglio! Grazie ancora.

 meglio! Grazie ancora.
Allora me lo spieghi, perché non ci sto capendo un maledetto tubo.
Hai qualche appunto o dispensa in Italiano dove cominciare a studiare?
Mi sono depresso a leggere tremila Link su Java2D.
Non è una classe è una matriosca. Sgrunt!!!!!!!!!!!!!!!
Il problema principale è che non conosco le basi di questi processi.
Ci vorrebbe una bel documento che spieghi le basi, e poi introduca i
concetti specifici dei vari linguaggi (C e Java in questo caso), con esempi
passo passo, esempi reali, tips & tricks, una fetta di *** vicino l'osso,
etc.
Tu conosci qualcuno che abbia già affrontato queste tematiche e che gli
andrebbe di aiutare i principianti a fare il salto di qualità?
Ti offri volontarioooooooooo :0000000000000 Grazie.
A buon rendere.

 Non č una classe č una matriosca. Sgrunt!!!!!!!!!!!!!!! ..... ecc ...
Guarda, io ho letto la docum. ufficiale di Java2D e qualcosa ho capito: non
l'ho presa come un manuale e quindi non l'ho studiata da cima a fondo, mi
sono limitato a considerare l'introduzione e i paragrafi che mi
interessavano nello specifico. Ho racimolato anche una valanga di esempi e
il + l'ho imparato da questi, analizzandoli riga x riga (sempre con la doc.
sotto). Infine ho trovato un notevole aiuto nel cd "Developer's Tools"
fornito con Mac OS X (l'O.S. che uso). E' stracolmo di strumenti ed esempi
utilissimi per la programmazione, dal core audio, alla grafica 2D ad OpenGL,
tutto in Java.
Non so se quello che ho imparato ti puň essere utile, ma se vuoi resto
disponibile per scambi di codice e/o conoscenze. Ciao

 disponibile per scambi di codice e/o conoscenze. Ciao
Ne sarò ben felice, ma attualmente le mie conoscenze sono piuttosto scarse.
Sto incominciando a studiare la classe BufferdImage e sto facendo qualche
esercizio.
La cosa peggiore è usarla con : SampleModel, DataBuffer......... non si
riesce a capire esattamente cosa vuole.
La cosa che più mi fa in******** è l'ultimo parametro : Hashtable
properties.
Dove cavolo le vado a pescare le proprietà? Me le invento?
Cmq. mi piacerebbe rimane in contatto, così che un giorno (sempre che riesca
a trovare i vari bandoli delle varie matasse) si potrebbe collaborare a
qualche mini proggetto free e soprattutto a un sito dove aiutare i niubbi a
capire le fondamenta della grafica e le loro applicazioni mediante Java2D e
soprattuto Java2D.
La mia mail è santo...@TOGLIMIciaoweb.it
Mandami anche una Mail bianca, che almeno la memorizzo.

 La cosa peggiore è usarla con : SampleModel, DataBuffer.........
Ecco, appunto: se sono questi gli argomenti che vuoi approfondire non posso
aiutarti molto, in quanto il programma su cui sto lavorando utilizza le
BufferedImage solo per quanto riguarda le operazioni sui singoli pixel, ma
una volta fatto questo gestisco tutta la grafica con i metodi classici delle
Graphics2D, niente di +. Utilizzo anche qualche BufferedImageOp e i vari
parametri sull'Antialiasing e gli Stroke, ma queste cose sono abbastanza
elementari e non credo siano quello che stai cercando ... Aggiungo poi che
sono anche un po' testardo e una volta raggiunto il controllo sul minimo
indispensabile mi faccio gli algoritmi da solo (alla faccia
dell'ottimizzazione!!!). Ciao, alla prossima.