ruotare immagini in java

come posso ruotare un immagine di un dato numero di gradi in un'applet java?

« Older   Newer »
 
  Share  
.
  1. Squartly
         
     
    .

    User deleted


    come posso ruotare un immagine di un dato numero di gradi in un'applet java? Ovviamente non di 90, 180 o 270 ma di qualsiasi numero di gradi.

    ho provato con la seguente sintassi ma si verificano problemi, in quanto al posto di venire ruotata solo
    l'immagine prima di essere stampata ruota tutto ciò che è stampato sullo schermo :o: :o: :o:

    CODICE
    public void paint (Graphics g)
    {
       int x=50; int y=50; double z=3; int tipo=1;
       Graphics2D g2d = (Graphics2D)g;
       Image albatros = getImage(getDocumentBase(), "immagini/albatros.gif");
       Image camel = getImage(getDocumentBase(), "immagini/camel.gif");
       g2d.translate (x,y);
       g2d.rotate(Math.toRadians(z));
       g2d.drawImage(albatros, 0, 0, 85, 40, this);
    }

    come posso ruotare solo l'immagine prima di stamparla senza compromettere il tutto?

    grazie in anticipo

    Edited by raxell - 20/1/2016, 16:43
     
    .
  2.      
     
    .
    Avatar

    Senior Member

    Group
    Manager
    Posts
    10,796
    Reputazione
    +266

    Status
    Dovresti utilizzare AffineTransform.
    Guarda qui, viene mostrato un esempio: www.billthelizard.com/2008/07/rotate-image-in-java.html

    CODICE
    private Image image;
    AffineTransform identity = new AffineTransform();

    Graphics2D g2d = (Graphics2D)g;
    AffineTransform trans = new AffineTransform();
    trans.setTransform(identity);
    trans.rotate( Math.toRadians(45) );
    g2d.drawImage(image, trans, this);
     
    .
1 replies since 20/1/2016, 16:27   584 views
  Share  
.
Top