Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Intendo proprio la classe Raster in quanto creo immagini a partire da matrici e poi le devo visualizzare.inoltre ho bisogno di modificare l'immagine e quindi ho bisogno anche che l'operazione di visualizzazione sul jpanel sia pure veloce

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da nmontec Visualizza il messaggio
    Intendo proprio la classe Raster in quanto creo immagini a partire da matrici
    Quel Raster non dovrebbe neanche interessarti, visto che il suo uso è una cosa abbastanza "avanzata".
    E ti ho anche ampiamente detto che in Java SE una immagine è solo rappresentata da java.awt.Image e sotto-tipi. Hai guardato BufferedImage?

    Quote Originariamente inviata da nmontec Visualizza il messaggio
    e poi le devo visualizzare.inoltre ho bisogno di modificare l'immagine e quindi ho bisogno anche che l'operazione di visualizzazione sul jpanel sia pure veloce
    La visualizzazione di un (Buffered)Image a livello "basilare" è banale l'ho detta prima: (Buffered)Image -> ImageIcon -> JLabel.
    Ma se devi modificare frequentemente la immagine e rivisualizzarla oppure addirittura è l'utente che deve poter "disegnare" tramite tastiera/mouse sulla immagine, allora no, conviene usare il custom painting. E riguardo ottimizzazioni, performance e quant'altro, sono tutte cose che dovrai comprendere man mano che acquisisci i concetti sul painting in Swing. Non sono cose che posso spiegarti in poche righe!

    Cerca di vedere i vari aspetti singolarmente e in modo progressivo. Mi sembra che stai facendo un po' un miscuglio ...
    Se hai dubbi più precisi, chiedi pure, magari preferibilmente in discussioni separate.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Hai guardato BufferedImage?
    Si è proprio quello che sto cercando di utilizzare, ma BufferedImage è formato da un oggetto Raster e da un ColorModel. Ora, io ho creato il BufferedImage, ma non riesco a capire come utilizzarlo per visualizzare la foto su un JPanel.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da nmontec Visualizza il messaggio
    ma BufferedImage è formato da un oggetto Raster e da un ColorModel.
    Ma potresti anche ignorare questi aspetti. Un BufferedImage molto spesso lo si crea con il costruttore:

    public BufferedImage(int width, int height, int imageType)

    per cui alla fin fine ti basta specificare la dimensione e il tipo. I tipi più frequentemente utilizzati sono TYPE_INT_RGB oppure con canale alpha TYPE_INT_ARGB.

    Quote Originariamente inviata da nmontec Visualizza il messaggio
    Ora, io ho creato il BufferedImage, ma non riesco a capire come utilizzarlo per visualizzare la foto su un JPanel.
    Il caso basilare l'ho già detto: l'uso di ImageIcon+JLabel. Ma questo va bene più che altro per immagini statiche o comunque che cambiano poco o dopo molto tempo.
    Se vuoi avere più controllo, anche su coordinate, rotazione, ecc... della immagine, allora serve il custom painting: si estende tipicamente JPanel o JComponent (ci sono alcune differenze tecniche tra i due ma per cose del genere è sufficiente JPanel) e si ridefinisce (override) paintComponent(Graphics) e si disegna quello che si vuole, la immagine, sul Graphics.

    Di esempi sul custom painting ne trovi a tonnellate .. anche tra i miei Java Examples.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ma potresti anche ignorare questi aspetti. Un BufferedImage molto spesso lo si crea con il costruttore:

    public BufferedImage(int width, int height, int imageType)

    per cui alla fin fine ti basta specificare la dimensione e il tipo. I tipi più frequentemente utilizzati sono TYPE_INT_RGB oppure con canale alpha TYPE_INT_ARGB.
    D'accordo, ma in ogni caso questo BufferedImage dovrò riempirlo prima o poi . Però se proprio devo estendere il JPanel con il Paint darò un'occhiata ai tuoi esempi
    Per intanto grazie, se continuo a non riuscirci, ci risentiremo qui

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da nmontec Visualizza il messaggio
    ma in ogni caso questo BufferedImage dovrò riempirlo prima o poi .
    Puoi leggere/settare singoli pixel o blocchi di pixel (vedi i getRGB/setRGB) oppure puoi ottenere un Graphics/Graphics2D e disegnare sulla immagine usando tutta la sofisticata API di Graphics(2D).
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.