View Single Post
Old 23-01-2007, 20:02   #1
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
[Java, ancora Java fino alla morte, quand'è che tornerò a C++ :'(] filtering immagine

dunque, devo disegnare su un Canvas (tramite Graphics.drawImage ovviamente) un'immagine ottenuta "filtrando" i pixel di un'altra, cioè semplicemente cambiandoli con valori calcolati in base ai valori originali. l'immagine originaria sta in un oggetto BufferedImage, e ok: quello riesco a disegnarlo tranquillamente. poi per produrre l'immagine "filtrata" faccio pari pari come dice Sun alla documentazione di FilteredImageSource, ovvero:
Codice:
ImageFilter filter = new MyClassDerivedFromRGBImageFilter();
FilteredImageSource filteredSource = new FilteredImageSource(original.getSource(), filter);
filtered = Toolkit.getDefaultToolkit().createImage(filteredSource);
dove "original" è un oggetto BufferedImage, "filtered" vorrebbe presumibilmente essere l'oggetto Image filtrato, e "MyClassDerivedFromRGBImageFilter" indovinate un po' cos'è?

problema: se passo filtered a Graphics.drawImage manco a dirlo non funziona; l'immagine non si vede, resta bianco (sotto ci ho disegnato un rettangolo bianco). mentre se tolgo filtered e metto original l'immagine originale si vede perfettamente.

aggiungo: anche se il modello Producer/Consumer/Observer non è il sistema più consigliabile per fare quello che devo a questo punto vorrei comunque conoscere quale sarebbe in teoria la soluzione. ^^
71104 è offline   Rispondi citando il messaggio o parte di esso