begin process at 2010 09 06 05:11:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Java2D

 > FAIRE CAPTURE ECRAN + REDIMENSIONNEMENT IMAGE

FAIRE CAPTURE ECRAN + REDIMENSIONNEMENT IMAGE


 Information sur la source

Note :
9,43 / 10 - par 7 personnes
9,43 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Java2D Niveau :Débutant Date de création :12/10/2004 Vu / téléchargé :16 712 / 1 092

Auteur : neodante

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Voici une petite source afin de pallier au nombre de questions relative à l'encodage d'image et autre capture d'écran, ainsi que le redimensionnement d'une image ... code source de moins de 70 lignes et encore avec tous les commentaires et les headers de fichier source ...

Source

  • public class ScreenShotFactory {
  • public final static String IMAGE_TYPE_JPEG = "jpeg";
  • public final static String IMAGE_TYPE_GIF = "gif";
  • public final static String IMAGE_TYPE_PNG = "png";
  • public static void screenShot(Rectangle screenArea,
  • Dimension screenshotFinalDimension, String pictureName,
  • String compressionType) {
  • BufferedImage buf = null; // Notre capture d'écran originale
  • BufferedImage bufFinal = null; // Notre capture d'écran redimensionnée
  • try {
  • // Création de notre capture d'écran
  • buf = new Robot().createScreenCapture(screenArea);
  • } catch (AWTException e) {
  • e.printStackTrace();
  • }
  • // Création de la capture finale
  • bufFinal = new BufferedImage(screenshotFinalDimension.width,
  • screenshotFinalDimension.height, BufferedImage.TYPE_INT_RGB);
  • // Redimensionnement de la capture originale
  • Graphics2D g = (Graphics2D) bufFinal.getGraphics();
  • g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
  • RenderingHints.VALUE_INTERPOLATION_BILINEAR);
  • g.drawImage(buf, 0, 0, screenshotFinalDimension.width,
  • screenshotFinalDimension.height, null);
  • g.dispose();
  • // Ecriture de notre capture d'écran redimensionnée
  • try {
  • ImageIO.write(bufFinal, compressionType, new File(pictureName));
  • } catch (IOException e) {
  • e.printStackTrace();
  • }
  • }
  • public static void main(String[] args) {
  • ScreenShotFactory.screenShot(new Rectangle(0, 0, 100, 100),
  • new Dimension(50, 50), "test.png",
  • ScreenShotFactory.IMAGE_TYPE_PNG);
  • }
  • }
public class ScreenShotFactory {

    public final static String IMAGE_TYPE_JPEG = "jpeg";

    public final static String IMAGE_TYPE_GIF = "gif";

    public final static String IMAGE_TYPE_PNG = "png";

    public static void screenShot(Rectangle screenArea,
            Dimension screenshotFinalDimension, String pictureName,
            String compressionType) {
        BufferedImage buf = null; // Notre capture d'écran originale
        BufferedImage bufFinal = null; // Notre capture d'écran redimensionnée

        try {
            // Création de notre capture d'écran
            buf = new Robot().createScreenCapture(screenArea);
        } catch (AWTException e) {
            e.printStackTrace();
        }
        // Création de la capture finale
        bufFinal = new BufferedImage(screenshotFinalDimension.width,
                screenshotFinalDimension.height, BufferedImage.TYPE_INT_RGB);
        // Redimensionnement de la capture originale
        Graphics2D g = (Graphics2D) bufFinal.getGraphics();
        g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        g.drawImage(buf, 0, 0, screenshotFinalDimension.width,
                screenshotFinalDimension.height, null);
        g.dispose();

        // Ecriture de notre capture d'écran redimensionnée
        try {
            ImageIO.write(bufFinal, compressionType, new File(pictureName));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        ScreenShotFactory.screenShot(new Rectangle(0, 0, 100, 100),
                new Dimension(50, 50), "test.png",
                ScreenShotFactory.IMAGE_TYPE_PNG);
    }
}

 Conclusion

Human knowledge belongs to the world !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

CONNEXION AU TRAVERS D'UN PROXY HTTP / FTP
Source avec Zip CONVERTISSEUR MYSQL VERS POSTGRESQL
Source avec une capture MANIPULER LA BARRE SYSTEME
Source avec Zip Source avec une capture TOUR DE HANOI GUI
Source avec Zip TUTORIAL VIDEO WEB SERVICE : LES FICHIERS

 Sources de la même categorie

Source avec Zip Source avec une capture [SWT] EFFET DE GLOW SUR DES IMAGES par provenzano24
Source avec Zip Source avec une capture SCREEN SAVER (AQUARIUM) par AubinMahe
SCRIPT DIRECTIONNEL POUR LE REBONDISSEMENT D'UNE BALLE par pedroPorto
Source avec Zip Source avec une capture POINTS LES PLUS PROCHES par xsimo
AFFICHER UNE ÉTOILE AVEC JAVA2D par 2mohamed2

Commentaires et avis

Commentaire de Kirua le 13/10/2004 14:27:59

Le lecteur avisé reconnaîtra le fan de AntiTrust ;)

Commentaire de neodante le 13/10/2004 15:21:15 administrateur CS

Je l'ai regardé encore hier pour la 50ème fois !!! J'ai fait le bout de code en même temps ... ;-)
@+

Commentaire de GodConan le 13/10/2004 18:24:32

moi je remarque surtout la capture d ecran ;) il est trop Eclipse 3.1 ;o) ....


++

Commentaire de GodConan le 13/10/2004 18:26:24

Et vi au fait  ;o) : sympa comme petit code pour ton retour en force. C est un jolie moyen(et util) de faire découvrir la class peu connu Robot .. ;o)

++

Commentaire de neodante le 13/10/2004 20:22:57 administrateur CS

lu, merci pour le commentaire ...
La capture est un peu à l'arrache mais bon ...  en plus honte à moi j'étais sous Win ce qui ne m'arrive que très rarement maintenant mais bon de temps en temps ça m'arrive encore .. par exemple pour tester mes applis ...
Le code était surtout fait pour les personnes du forum qui se demande comment encoder ou redimensionner une image ... mais c'est clair que la classe Robot elle déchire un peu ... je sais pas si tu as lu la javadoc ... il explique pour quoi elle est fait normalement ... remarque quand tu vois les méthodes tu comprends mieux .. et tu comprends toute sa puissance ...
@+

Commentaire de GodConan le 13/10/2004 20:51:03

vi je me suis un peu pencher dessus il y a quelque mois ;o) je l ai decouverte par hazard ;o) dc javai rien a en faire sur le moment ;o) mais c possibilitee sont asser enormes... ;o) je penser peu etre faire, par exemple, un assistant en me basant sur cette class pour l appli que je fait en ce moment ;o) mais g de toute facon pas le temp ;o)

++

Commentaire de sheggen le 11/03/2005 11:34:01

bien, mais evidament pour version java 1.4 minimum...

Commentaire de neodante le 11/03/2005 15:11:47 administrateur CS

L'évolution des JDK n'est pas pour faire jolie et il n'y en a que très rarement de tels évolutions (comparé par exemple à .NET qui sort des 1056, 1563, ... toutes les semaines !!! De quoi s'y perdre d'ailleurs j'en ai déjà fait les frais !). Le JDK 1.4 à déjà presque 3 ans ... mais c'est clair que les entreprises et les produits IBM mettent un peu de temps avant d'évoluer ... pas de chance, un jour tu pourras surement ... ;-)

A chaque nouvelle version de nouvelles grandes fonctionnalité ... en voici une en quelques lignes !!! Qui a dit que les fonctionnalités de Java était limité : ceux qui ne connaisse pas réellement Java !!! ;-)

@+ l'ami

Commentaire de wenders77 le 31/03/2005 14:52:32

Neodante, merci pour ce code et pour m'avoir fait découvrir la classe Robot. C'est exactement ce dont j'avais besoin.
Que serait le forum sans des types comme toi ou GodConan?

Commentaire de neodante le 31/03/2005 20:05:42 administrateur CS

Merci mais nous ne sommes pas les seuls sur le forum ... il y en a bien d'autres  .... ;-)

Merci quand même pour le comment ;-)
Pour le moment je ne me suis pas encore fait limité par la lib Java donc il faut fouiller mais il y a plein de trucs dedans, bien plus que ce que l'on peut imaginer ... souvent on réinvente la roue (et en moins bien) sans le savoir !!

@+

Commentaire de grand_jeanluc le 20/05/2005 15:46:15

Pour info, l'image en gif ne marche pas. Vois-tu une solution à ce problème de type ?

Commentaire de neodante le 22/05/2005 23:35:37 administrateur CS

Cela dépend des Writer dispo sur la machine ...
Utiliser le méthode getWriterFormatNames pour connaître ceux disponible sur votre machine :
http://java.sun.com/j2se/1.4.2/docs/api/javax/imageio/ImageIO.html#getWriterFormatNames()

++

Commentaire de Fwdavy le 06/07/2005 17:02:45

Le code marche bien sur PC.....mais pas moyen de le faire tourner sur pocketPC, j'utilise le run d'IBM (celui où y'a l'exemple du jeux de golf). Quelqu'un pourrait m'aider pour le faire tourner su PocketPC.

++

Commentaire de Karboggy le 03/08/2006 14:05:47

Merci !!
^-^

Commentaire de Chatbour le 08/05/2008 13:40:03 10/10

Merci : ça répond bien à ce que je cherche !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales