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 :

[JOGL] Resize d'images et encodage JPEG


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité de passage

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 995
    Par défaut [JOGL] Resize d'images et encodage JPEG
    Bonjour,

    Pour améliorer les performances d'une application qui fait du resize et de l'encodage d'image en JPEG (on balance une image GIF, PNG ou JPEG d'un coté, ça crache une image resizée en JPEG de l'autre), j'envisage d'utiliser JOGL, ce qui permettrait de faire faire le travail au GPU. Malheureusement, j'ai l'impression que l'utilisation de cette API nécessite une bonne connaissance d'OpenGL, ce qui n'est pas mon cas. Est-ce que quelqu'un pourrait m'indiquer les classes et méthodes à utiliser, ou au moins où trouver une doc valable (la doc sur https://jogl.dev.java.net/ est plutôt primaire, la javadoc en particulier se contente d'indiquer quelle appel OpenGL est wrappé par chaque méthode, ce qui ne m'aide pas beaucoup).

    Merci d'avance pour toute aide.

  2. #2
    Invité de passage

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 995
    Par défaut
    A moins que quelqu'un connaisse un autre moyen d'utiliser l'accélération des GPU pour ces opérations, en Java (ou exploitable en Java, par JNI ou autre) ?

  3. #3
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    Je pense que tu fais fausse route.

    JOGL est une api de rendue 3D, et c'est pour ca que la carte graphique est faite.
    Et non tu ne trouvera rien dans JOGL pour faire du traitement d'image.

    Pour faire du traitement d'image utilise JAI et ImageIO/.

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Euh plus ou moins, on eut faire pas mal de travail 2D avec OpenGL (penser par exemple compositing sous linux, KWin4, Compiz &cie).

    Ensuite dans le cas présent, la JVM a déjà certains accès à la CG pour les manipulations d'images de par son pipeline (OpenGL ou DirectX dans les dernières versions de java), le redimensionnement est réalisé en hardware si l'on s'y prend bien (lire ne pas utiliser Image.getScaledInstance).

    Pour tout ce qui concerne le redimensionnement d'images en java, il est plus que préférable de lire attentivement le lien suivant: http://today.java.net/pub/a/today/20...dinstance.html

    Bref dans ton cas, pas besoin d'OpenGL.

  5. #5
    Invité de passage

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 995
    Par défaut
    Intéressant. Tu aurais plus d'infos concernant l'accélération hardware des opérations graphiques en Java (surtout 2D) ?
    J'ai lu récemment qu'ajouter ce type d'accélération serait justement une des modifs majeures de Java 6 update 10...

    Pour ma part, j'utilise un algo de bilinear filtering codé maison pour resizer, afin d'avoir un meilleur rendu. C'est un peu ce qui est problématique :
    -Lire le fichier avec ImageIO et instancier un BufferedImage (ce qui permet de lire une vaste variété de formats d'images)
    -extraire les pixels sous forme de tableau avec BufferedImage.getRGB()
    -appliquer l'algo de resize au tableau
    -sauvegarder

    Le problème, c'est que cette méthode ne permet pas l'accélération matérielle, en l'état.

    Bon, je vais lire l'article que tu m'as indiqué en détail, déjà, et je verrais après. Si quelqu'un a plus d'infos, je suis toujours preneur !

  6. #6
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Citation Envoyé par Traroth2 Voir le message
    J'ai lu récemment qu'ajouter ce type d'accélération serait justement une des modifs majeures de Java 6 update 10...
    Si t'as une source de cette info, ça m'intéresse !

Discussions similaires

  1. resizer une image de fond en fonction de la resolution
    Par the_edge dans le forum Général JavaScript
    Réponses: 30
    Dernier message: 02/11/2006, 14h47
  2. resizer une image de fond en fonction de la resolution
    Par kitten13 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/09/2006, 14h21
  3. coment convertir une image de forlat JPEG a une forma tif
    Par sanfour_walhan dans le forum Delphi
    Réponses: 1
    Dernier message: 01/08/2006, 16h04
  4. Comment convertir une image bmp en jpeg ?
    Par zidenne dans le forum Langage
    Réponses: 3
    Dernier message: 08/01/2006, 11h37
  5. Réponses: 3
    Dernier message: 11/11/2005, 17h15

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