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

    Inserire un'immagine in una GeneralPath

    Salve a tutti,

    Ho una GeneralPath, costruita con 4 linee, vorrei inserirci un'immagine, in modo che si adatti(rotazione/dimensione) alla forma della GeneralPath, senza usare il metodo setPaint(perchè non modifica l'immagine secondo la forma della GeneralPath).

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

    Re: Inserire un'immagine in una GeneralPath

    Originariamente inviato da Dimensione
    Ho una GeneralPath, costruita con 4 linee, vorrei inserirci un'immagine, in modo che si adatti(rotazione/dimensione) alla forma della GeneralPath, senza usare il metodo setPaint(perchè non modifica l'immagine secondo la forma della GeneralPath).
    Credo proprio (a meno che mi sfugga qualcosa che magari non so io) che non si possa fare. GeneralPath descrive una figura geometrica arbitraria con un numero arbitrario di punti. Per farlo "generico", vorrebbe dire che Java 2D dovrebbe "mappare" la immagine ad una qualunque forma della figura ..... parecchio complesso, direi. E non mi risulta lo faccia.
    Se vuoi disegnare una immagine ruotata/ridimensionata, puoi disegnarla sul Graphics2D impostando appropriatamente la AffineTransform.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ciao e grazie per la risposta...

    Si me lo immaginavo, il problema è questo:

    Immaginiamo di avere un rettangolo che contiene all' interno un'immagine, l'utente spostando i vertici del rettangolo modifica l'immagine che si adatta al rettangolo...

    Dopo varie ricerche su google(ore) ho capito che con GeneralPath non è possibile, esistono altri metodi?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Dimensione
    Immaginiamo di avere un rettangolo che contiene all' interno un'immagine, l'utente spostando i vertici del rettangolo modifica l'immagine che si adatta al rettangolo...
    Ma questo comunque devi gestirlo tu, in un qualche modo. Se vuoi fare un po' come se fosse un software di disegno vettoriale (o anche un word processor) che mostra una immagine e le "ancore" ai lati/angoli per modificare posizione/dimensione ecc... della immagine, è tutto a tuo carico e devi fare un po' di lavoro con del codice.

    Disegni la immagine sul Graphics, poi disegni eventualmente rettangoli o altri segni che indicano dove mettere il mouse per cambiare la immagine. Magari renderli visibili solo se il cursore si trova sopra la immagine.
    Gestisci un MouseListener e MouseMotionListener per ricevere notifica dei click e dello spostamento del mouse. Nel caso del click devi stabilire se il click è avvenuto su uno dei punti "caldi" che permettono la modifica (e devi avere una struttura dati che mantiene queste informazioni), quindi in base allo spostamento del mouse fai le dovute modifiche.

    Se vuoi un esempio, anche se diverso, guarda tra i miei Java Examples, sezione Graphics, in particolare l'esempio in ChangeableTrianglePainter.java
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Si ho notato il link prima, e proprio quell'esempio mi ha interessato. Il problema è che sicuramente dovrò gestire il tutto pixel per pixel, perchè si tratta di adattare l' immagine. Per esempio se i due vertici destri vengono avvicinati, lo stesso dovrà fare l'immagine, e mi sembra un pò complicato.

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.