IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

[Image] Décomposer une image de grande taille


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Points : 24
    Points
    24
    Par défaut [Image] Décomposer une image de grande taille
    Bonjour,

    J'ai une application Java qui manipule une image PNG de taille importante: 9807*6867 pixels pour un peu moins de 3Mo. L'image est scrollable et elle est contenue dans un JLabel lui-même dans un JScrollPane. Le problème c'est que manipuler une image aussi grande c'est quand même assez lourd, donc lors des déplacements ou des zooms, l'appli pédale un peu

    Ce que je voudrais c'est pouvoir décomposer cette image de façon à ne charger et afficher que la partie visible dans le panel. Ainsi lors des déplacement via les barres de scroll on chargerait et afficherait une image plus petite qui correspond à la zone à afficher de la grande image.

    J'ai essayer avec un BufferedImage mais d'après ce que j'ai compris il faut quand même charger l'image complète au départ. De plus en créant un buffer pour une image aussi grande on arrive vite à une exception Heap Space Out Of Memory.
    J'ai aussi regardé du côté de l'api JAI mais j'ai rien trouvé pour décomposer l'image.

    Donc voila, j'aimerais savoir si il existe une solution en Java pour manipuler plus efficacement ce genre d'image ? Les charger par parties ou pour les découper ?

    Sinon j'ai aussi pensé à découper directement l'image avec un logiciel style Photoshop pour créer plusieurs dizaines d'images avec une taille plus petite puis toutes les stocker dans un tableau. Mais au niveau de l'application est ce que ce sera vraiment plus léger pour elle de travailler avec pleins de petites images plutôt qu'avec une seule grande image ?

    Merci d'avance pour vos réponses !

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Avec une image BMP il est facile de récupérer le "morceau" que tu veux au niveau du "fichier" : il faut voir s'il est possible de manipuler un fichier PNG directement de la même façon.

    Le plus simple ( en fonction du projet ) serait de séparer le problème en deux :
    -Découper la grande image "source" en plusieurs PNG.
    -Puis recoller les morceaux qui nous intéresse.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Le sujet commence à dater, peut être qu'il n'est plus d'actualité, je tente quand même.
    Tu peux ne charger qu'une partie de l'image en utilisant un "ImageReader" (je donne un exemple de code ici)
    Les dépendances sont dans la "lib standard" (il doit quand même falloir une version récente de la JRE, version 5 ou 6 peut être) dans com.sun.imageio.plugins*

    Par contre il te faudra écrire un peu de code pour "wrapper" ton ImageReader afin qu'il te fournisse une image (BufferedImage par exemple) qui correspond à la zone que tu veux afficher.

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. [Débutant] Mettre une image dans une matrice plus grande
    Par Artinuin dans le forum Images
    Réponses: 5
    Dernier message: 07/05/2010, 11h31
  3. Réponses: 3
    Dernier message: 30/10/2006, 11h21
  4. [Image]charger une image sur une page HTML
    Par Malo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2006, 18h33
  5. [Image] Décomposer une image png.
    Par Quintoff dans le forum 2D
    Réponses: 3
    Dernier message: 06/01/2006, 20h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo