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

  FORUM HardWare.fr
  Programmation
  Java

  JNI - Obtenir une image Java à partir d'une image Windows

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JNI - Obtenir une image Java à partir d'une image Windows

n°418213
El_gringo
Posté le 05-06-2003 à 17:24:33  profilanswer
 

Je doute qu'ici qui que ce soit puisse m'aider là dessus, mais bon, essayons toujours...
Alors voila, depuis une dll C, je génère une image (ou plutôt, je récupère une image générée par un code obscure). Etant sous windows, cette image est au format "standard" des images sous windows, à savoir : HBitmap (qui n'est pas à proprement parler un format, mais bref, on va se permettre de considérer que si). Je cherche, depuis ce HBitmap, à générer un image Java (classe java.awt.image.RenderedImage). Je suis à peu près sur que c'est possible, puisque l'awt comporte une partie native, c'est à peu près sur qu'il bosse avec des HBitmap, mais je n'arrive pas trop pour l'instant à trouver comme faire ce dont j'ai besoin.
En Bref : je voudrais obtenir une Image Java (RenderedIMage), depuis une image C Windows (HBitmap). Quelqu'un sait il qqch là dessus ?

mood
Publicité
Posté le 05-06-2003 à 17:24:33  profilanswer
 

n°419099
LetoII
Le dormeur doit se réveiller
Posté le 06-06-2003 à 11:13:59  profilanswer
 

Heu, je pense pas que t'ai directementune fonction java qui te fasse ça. Ce que tu peux faire c générer un tableau d'octets à partir de ton HBitmap (me semble que ça se fait mais c à vérifier) qui va représenter ton image. Ensuite t'as plus qu'à cerhcer si y a un moyen de créer ton objet java à partir de ça.


---------------
Le Tyran
n°419245
El_gringo
Posté le 06-06-2003 à 12:04:58  profilanswer
 

Moi je pense qu'il existe déja des fonction JNI qui font ça. Parce que, à ma connaissance, sous windows, pour afficher quoi que ce siot de graphique, il doit être au format HBitmap (je suis pas sur à 100% mais je pense)

n°419265
grosmethos
Posté le 06-06-2003 à 12:27:49  profilanswer
 

SAlut El Gringo...
 
Rien a voir avec ton poste...une boite veut valider mes references et me demande des contacts de mes anciens responsables.
Je me rappel plus le nom d'eric :non:  
 
Peut tu me l'envoyer par mail à vpenalva@chello.fr
 
Sympa merci
Bientot!!

n°419276
LetoII
Le dormeur doit se réveiller
Posté le 06-06-2003 à 12:40:46  profilanswer
 

El_gringo a écrit :

Moi je pense qu'il existe déja des fonction JNI qui font ça. Parce que, à ma connaissance, sous windows, pour afficher quoi que ce siot de graphique, il doit être au format HBitmap (je suis pas sur à 100% mais je pense)


 
Qq part en interne ouai, mais ça m'étonerais que tu y ai accés.


---------------
Le Tyran
n°419392
El_gringo
Posté le 06-06-2003 à 14:06:23  profilanswer
 

LetoII a écrit :


 
Qq part en interne ouai, mais ça m'étonerais que tu y ai accés.


 
Ouais, en interne, c'est sur que la JVM sait traiter les images HBitmap, et pour preuve :

Code :
  1. /*
  2. * Win32-specific declarations for AWT native interface.
  3. * See notes in jawt.h for an example of use.
  4. */
  5. typedef struct jawt_Win32DrawingSurfaceInfo {
  6.     /* Native window, DDB, or DIB handle */
  7.     union {
  8.         HWND hwnd;
  9.         HBITMAP hbitmap;
  10.         void* pbits;
  11.     };
  12.     /*
  13.      * This HDC should always be used instead of the HDC returned from
  14.      * BeginPaint() or any calls to GetDC().
  15.      */
  16.     HDC hdc;
  17.     HPALETTE hpalette;
  18. } JAWT_Win32DrawingSurfaceInfo;

 
 
Cette structure permet de dessiner dans une surface avec la JVM, depuis un pogramme C/C++.
L'image est décrite dans un HBitmap.
C'est terriblement frustrant, d'autant plus que je n'pense même pas pouvoir regarder les sources de ça, puisqu'elle doivent être compilées !!!  :cry:

n°419406
El_gringo
Posté le 06-06-2003 à 14:13:09  profilanswer
 

Hé, mais j'y pense, c'est peut être ça ma solution :  
si je trouve un moyen générer une RenderedImage représentant le contenu d'un Caneva, c'est gagné...

n°420628
R3g
fonctionnaire certifié ITIL
Posté le 07-06-2003 à 18:21:36  profilanswer
 

un HBITMAP, c'est jamais qu'un pointeur vers une structure contenant un en-tete (BITMAPINFOHEADER ou un truc du genre) et un tableau d'octet représentant tes pixels. Donc je pense que le truc c'est d'essayer de récupérer les infos du header et le tableau d'octets pour refaire une image avec tout ça.


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

  JNI - Obtenir une image Java à partir d'une image Windows

 

Sujets relatifs
[C] Gestion des users windowsUtilisation de JNI dans une appli web
Outil de dév java freeNewbie JAVA
[java] scanner des répertoires?[access] envoyer un mail à partir des données d'un champ
Détecter des lignes sur une imageComment exécuter un programme à partir du VBA dans excel
JAVA mais pourquoi !!Traitement d'image (contrôle image) sous VBA Excel
Plus de sujets relatifs à : JNI - Obtenir une image Java à partir d'une image Windows


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