Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1161 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  dessiner un rectangle vide sur une image

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

dessiner un rectangle vide sur une image

n°1544185
delantera
Hail Seitan.
Posté le 18-04-2007 à 11:35:49  profilanswer
 

Bonjour!
 
Alors en fait j'aimerais dessiner un rectangle vide sur une image que je chargerais à l'écran, en récupérant les clics de l'utilisateur pour savoir où le positionner... :)
 
Je m'explique: j'ai une image dans un jscrollpane, (pour le moment un displayJAI, mais si je dois utiliser une BufferedImage je le ferais...) et j'aimerais que quand l'utilisateur clique sur un point de l'image (j'ai récupéré la position du clic déjà) ça dessine un carré dont l'interieur serait transparent, afin de délimiter la zone choisie...
 
Quelqu'un aurait une idée? J'ai trouvé des trucs avec une BufferedImage et l'utilisation de graphics2D mais j'ai pas compris :/ J'ai trouvé des trucs pour créer une nouvelle image et dessiner dessus mais pas pour dessiner sur une image existante...
 
Merci en tout cas!  
 
:hello:


Message édité par delantera le 18-04-2007 à 14:09:33

---------------
500px People who think they know everything are a great annoyance to those of us who do.
mood
Publicité
Posté le 18-04-2007 à 11:35:49  profilanswer
 

n°1544238
delantera
Hail Seitan.
Posté le 18-04-2007 à 13:00:07  profilanswer
 

Bon je mets un truc que j'ai essayé, vous allez sûrement vous marrer mais bon c'est un truc d'essai :D

 
Code :
  1. import java.awt.*;
  2. import java.io.IOException;
  3. import javax.media.jai.JAI;
  4. import javax.media.jai.RenderedOp;
  5. import javax.swing.*;
  6. import com.sun.media.jai.codec.FileSeekableStream;
  7. import com.sun.media.jai.widget.DisplayJAI;
  8. import java.awt.image.*;
  9. import java.awt.*;
  10. import java.awt.geom.*;
  11. import javax.swing.*;
  12. import java.awt.geom.Ellipse2D;
  13. import java.awt.image.*;
  14. import javax.imageio.*;
  15. import java.io.*;
  16. public class utilise {
  17. public static void main(String[] args)
  18. {
  19.  Dimension dscreen = Toolkit.getDefaultToolkit().getScreenSize();
  20.  JFrame frame=new JFrame();
  21.  BufferedImage buffimag;//buffered image chargée avec la methode du dessous
  22.  Image imag=null;
  23.  try {
  24.   imag = ImageIO.read(new File("angle_without_shadow2.jpg" ));
  25.  } catch (IOException e) {
  26.   e.printStackTrace();
  27.  }
  28.  buffimag=getBufferedImage(imag);
  29.  //System.out.println("widthbuff " + buffimag.getWidth());//tests pour voir si l'image est belle et bien la
  30.  //System.out.println("heightbuff " + buffimag.getHeight());
  31.  Container contentPane = frame.getContentPane();
  32.  contentPane.setLayout(new BorderLayout());
  33.  JScrollPane sp = new JScrollPane();
  34.  contentPane.add(sp,BorderLayout.WEST);
  35.  Graphics2D g = buffimag.createGraphics();
  36.  g.setColor(Color.red);
  37.                 g.drawRect(0,0,100,100);
  38.     g.dispose();// je sais pas à quoi ça sert...
  39.  sp.paint(g);//la je sais pas du tout si ça peut fonctionner???
  40.  sp.setPreferredSize(new Dimension(dscreen.height,dscreen.width*3/4));
  41.  frame.setExtendedState(frame.MAXIMIZED_BOTH);
  42.  sp.repaint();//necessaire?
  43.  frame.setVisible(true);
  44. }
  45.   public static BufferedImage getBufferedImage(Image img)
  46.   {
  47.      int w = img.getWidth(null);
  48.      int h = img.getHeight(null);
  49.      System.out.println("width " + w);
  50.      System.out.println("height " + h);
  51.      BufferedImage bImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
  52.      Graphics2D g2 = bImage.createGraphics();
  53.      g2.drawImage(img, 0, 0, null);
  54.      return bImage;
  55.    } 
  56. }


Message édité par delantera le 18-04-2007 à 14:27:27

---------------
500px People who think they know everything are a great annoyance to those of us who do.
n°1544356
delantera
Hail Seitan.
Posté le 18-04-2007 à 15:12:23  profilanswer
 

Quelqu'un saurait pourquoi ça ne m'affiche rien avec le code du dessus? :jap:


Message édité par delantera le 18-04-2007 à 15:16:49

---------------
500px People who think they know everything are a great annoyance to those of us who do.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  dessiner un rectangle vide sur une image

 

Sujets relatifs
Découper une image avec CSSProblème dimension image
Image en fond d'un JButton[résolu] Problème d'image de fond avec Firefox
[CSS] Image de fond se repetant (repeat-y)$_FILES[]["tmp_name"] et $_FILES[]["type"] vide, pourquoi ?
mettre une image sur une videoBalise vide non reconnue
Transformer une partie d'une image en bouton submitComment faire ça (image dans le post) ?
Plus de sujets relatifs à : dessiner un rectangle vide sur une image


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR