Accueil > > > LOUPE EN JAVA
LOUPE EN JAVA
Information sur la source
Description
Source
- /*
- * Loupe.java
- *
- * Créé le 14-08-2006, 12:14
- *
- */
-
-
- import javax.swing.* ;
- import java.awt.* ;
- import java.awt.image.* ;
-
- /**
- * Auteur : A.B.
- */
-
- public class Loupe extends JFrame implements Runnable {
-
- /**
- * Données membres
- */
- private BufferedImage image = null;
-
- /** constructeur de la classe Loupe */
- public Loupe() {
- super ("Loupe");
- setDefaultCloseOperation (EXIT_ON_CLOSE);
- setResizable (false);
- setBounds (50, 50, 250, 250);
-
- setVisible (true);
- }
-
- /**
- * faire un imprime écran une zone rectangulaire de centre la pointe du
- * curseur
- */
- public void getScreenShot (Point point) throws AWTException {
- getScreenShot (point.x, point.y);
- return;
- }
-
- /**
- * faire un imprime écran d'une zone rectangulaire de centre la pointe du
- * curseur avec un facteur d'aggrandissment x2
- */
- public void getScreenShot (int x, int y) throws AWTException {
- int sourceWidth = getWidth () / 2;
- int sourceHeight = getHeight () / 2;
-
- Robot robot;
- robot = new Robot ();
-
- Rectangle rectangle;
- rectangle = new Rectangle (x - (sourceWidth >> 1),
- y - (sourceHeight >> 1),
- sourceWidth,
- sourceHeight);
-
- image = robot.createScreenCapture (rectangle);
-
- return;
- }
-
- /**
- * @param point : (x, y)
- * renvoie : true si ce point est à l'intérieur de la fenêtre
- * false sinon
- */
- boolean isPointInRect (Point point) {
- int frameX = getX ();
- int frameY = getY ();
- int frameWidth = getWidth ();
- int frameHeight = getHeight ();
-
- return ((point.x >= frameX) & (point.x <= frameX + frameWidth)) &
- (point.y >= frameY) & (point.y <= frameY + frameHeight);
- }
-
- /**
- *
- */
- public void run () {
- while (true) {
- try {
- // récupérer les coordonnées de la pointe de la souris
- Point point;
- point = MouseInfo.getPointerInfo ().getLocation ();
-
- if (isPointInRect (point))
- continue;
-
- Graphics g;
- g = getGraphics ();
-
- // faire un imprime écran
- try {
- getScreenShot (point);
- }
- catch (AWTException exception) {
- }
- // afficher l'imprime écran sur le fenêtre
- if (image != null)
- g.drawImage (image, 0, 0, getWidth (), getHeight (), this);
- // libérer le contexte d'affichage
- g.dispose ();
- // faire un rafraîchissement tout les 50 millisecondes
- Thread.sleep (50);
- }
- catch (InterruptedException exception) {
- }
- }
- }
-
- /**
- * @param args : ligne de commande
- */
- public static void main(String[] args) {
- // code de l'application
- Thread Application = new Thread ( new Loupe ());
- Application.start ();
- }
- }
/*
* Loupe.java
*
* Créé le 14-08-2006, 12:14
*
*/
import javax.swing.* ;
import java.awt.* ;
import java.awt.image.* ;
/**
* Auteur : A.B.
*/
public class Loupe extends JFrame implements Runnable {
/**
* Données membres
*/
private BufferedImage image = null;
/** constructeur de la classe Loupe */
public Loupe() {
super ("Loupe");
setDefaultCloseOperation (EXIT_ON_CLOSE);
setResizable (false);
setBounds (50, 50, 250, 250);
setVisible (true);
}
/**
* faire un imprime écran une zone rectangulaire de centre la pointe du
* curseur
*/
public void getScreenShot (Point point) throws AWTException {
getScreenShot (point.x, point.y);
return;
}
/**
* faire un imprime écran d'une zone rectangulaire de centre la pointe du
* curseur avec un facteur d'aggrandissment x2
*/
public void getScreenShot (int x, int y) throws AWTException {
int sourceWidth = getWidth () / 2;
int sourceHeight = getHeight () / 2;
Robot robot;
robot = new Robot ();
Rectangle rectangle;
rectangle = new Rectangle (x - (sourceWidth >> 1),
y - (sourceHeight >> 1),
sourceWidth,
sourceHeight);
image = robot.createScreenCapture (rectangle);
return;
}
/**
* @param point : (x, y)
* renvoie : true si ce point est à l'intérieur de la fenêtre
* false sinon
*/
boolean isPointInRect (Point point) {
int frameX = getX ();
int frameY = getY ();
int frameWidth = getWidth ();
int frameHeight = getHeight ();
return ((point.x >= frameX) & (point.x <= frameX + frameWidth)) &
(point.y >= frameY) & (point.y <= frameY + frameHeight);
}
/**
*
*/
public void run () {
while (true) {
try {
// récupérer les coordonnées de la pointe de la souris
Point point;
point = MouseInfo.getPointerInfo ().getLocation ();
if (isPointInRect (point))
continue;
Graphics g;
g = getGraphics ();
// faire un imprime écran
try {
getScreenShot (point);
}
catch (AWTException exception) {
}
// afficher l'imprime écran sur le fenêtre
if (image != null)
g.drawImage (image, 0, 0, getWidth (), getHeight (), this);
// libérer le contexte d'affichage
g.dispose ();
// faire un rafraîchissement tout les 50 millisecondes
Thread.sleep (50);
}
catch (InterruptedException exception) {
}
}
}
/**
* @param args : ligne de commande
*/
public static void main(String[] args) {
// code de l'application
Thread Application = new Thread ( new Loupe ());
Application.start ();
}
}
Conclusion
Merci à ceux qui m'ont aidé à réaliser ce petit programme. Remarques, Critiques, Remerciement sont les bienvenues.
Et Merci ...
Historique
- 26 août 2006 22:35:29 :
- Ajout d'un Zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
BuferedImage et images [ par AlphaSurfeur ]
Bonjour à tous,Voila, je voudrais deposer une image dans une BufferedImage de façon à pouvoir la modifier pixel par pixel. Le probleme c'est que je n'
Robot dynamique en JAVA [ par SuperSteph ]
Je suis en 2éme année d'ecole d'info, en projet en train de faire en java un simulateur de robots points et robots omnidirectionnels. J'ai un probléme
Rafraichissement graphique d'un robot en simulation [ par SuperSteph ]
On est en train de faire un projet qui simule un robot dynamiquement.On a reussi à faire evoluer le robot par contre on a une "trainéé". On aimerait v
URGENT (BMP et BufferedImage) [ par Geomaster ]
Bonjour,J'ai réalisé un petit prog qui prend n'importe quelle image GIF ou JPEG et cree un fichier texte contenant les valeurs R, V et B de chaque pix
Pb de chargement de jpg sur une BufferedImage [ par shivan ]
Alors je vous explique vite fait, j'ai une classe devant gérer des images en leur rajoutant du texte et des fichiers jpg a volonté. le constructeur ch
pb graphique... [ par alexbristol ]
bonjour,je veux créer une grille dans laquelle il y aura un point de départ et un point d'arrivée. Ensuite un petit robot va parcourir la grille pour
BufferedImage.. toujours elles [ par warpis ]
hum, en gros, j'ai tappé un truc (ci dessous). j'ai une classe marsouin contenant une image.. j'attends bien que l'image se charge avec un média track
Image en GIF sans enregistrer [ par balbinus ]
Je voudrais faire un serveur qui génère une image aléatoire... J'ai donc, pour l'instant, une BufferedImage. Comment je peux faire pour l'envoyer sous
applet pour recuperer le contenu du presse papier et enregistrer en jpg [ par fmazoue ]
bonjour a tous voilà mon pb :je voudrais créer un applet permettant de récupérer le contenu du presse papier puis d'enregistrer ce contenu dans un jpe
coment faire pour redimentionner une BufferedImage [ par harryharry ]
lscorpiocoment faire pour redimentionner une BufferedImage?
|
Derniers Blogs
[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ![MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ! par redo
Me voici enfin arrivé au Microsoft Mix 2010, je dois vous avouer être arrivé un peu plus tard que d'habitude, ce qui explique que je n'ayez vu aucune info passer quant au premier keynote . certains événements sont plus importants que tout, ce qui était mo...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ![MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ! par redo
Disponible gratuitement : (153 pages) PDF Version : http://download.microsoft.com/download/7/C/8/7C820C6F-C205-4ECF-B9F3-1505DD13F9BF/ProgWinPhonePreview.pdf XPS Version : http://download.microsoft.com/download/E/3/5/E359FC51-1CF5-47F1-9BF3-74AB09D3339B/P...
Cliquez pour lire la suite de l'article par redo
Forum
RE : LE MEILLEURRE : LE MEILLEUR par zaydounhlel
Cliquez pour lire la suite par zaydounhlel
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|