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

 


Dernière réponse
Sujet : [Java] passage d'un tableau dans DLL et retour ? c'est encore moi!
Cherrytree Pour ma part, c'est mort. Je veux dire qu'à moins de te faire le projet (j'ai pas le temps), je ne peux pas aider. JNI, je l'ai bossé la première pour te filer un coup de main et c'est tout. Il va falloir trouver plus doué. Encore désolé.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Cherrytree Pour ma part, c'est mort. Je veux dire qu'à moins de te faire le projet (j'ai pas le temps), je ne peux pas aider. JNI, je l'ai bossé la première pour te filer un coup de main et c'est tout. Il va falloir trouver plus doué. Encore désolé.
benou je t'aiderai volontier, mais je n'y connais vraiment rien en JNI. Ca te feras toujours un up ... ;)
Babekiller Bon je résume mon truc.
Je veux récuperer un tableau de int de la DLL.
 
Voila comment on fait ?????
Babekiller Personne ??? :(
Babekiller ARRRRRGGGGGG.... [:cajoline]
Babekiller UP JAVA !!
Babekiller Pour ma part je suis pas très sur de :  
 
raster.setPixels(0,0,image.getWidth(),image.getHeight(),procesImage(pixels));
 
et du truc en C.
 
 
REM ma boucle met toute la chaîne à 0?
Ben c?est un test?. Koi ? :??:
 
Voilà mais je commence à aimer le JAVA :love: qui l?aurai cru !! :sol:
Babekiller Et voilà on y a tous cru !!!! :lol:
 
Mais non il me reste encore un truc qui marche pas!!! :(
 
 
Résumé des épisodes précédents : :??:
 
Mon projet est de créer une application java qui affiche une image :
Puis une DLL se charge des transformations à apporter a cette image.  
 
 
L?interface marche et je sais créer la DLL. (merci a tous :jap: )
 
La DLL affiche un « Hello World » maintenant je dois lui passer l?image sous forme d?un tableau.
Apparemment le tableau arrive jusqu'à la DLL puisque je peux afficher la longueur correct du tableau 4*largeur*hauteur (en pixel).
Mais après c?est la merde. Et impossible de trouver le bon tutorial chez SUN !!!!
 
Alors voilà le .c

#include "jni.h"
#include "ImageProcessingPanel.h"
#include <stdio.h>
 
 
JNIEXPORT void JNICALL Java_ImageProcessingPanel_displayHelloWorld
  (JNIEnv *env, jobject obj)
{
    printf("Hello world!\n" );
    return;
}
 
JNIEXPORT jintArray JNICALL Java_ImageProcessingPanel_procesImage
  (JNIEnv *env, jobject obj, jintArray t)
{
 int i;
 jintArray imgt;
 jsize len = (*env)->GetArrayLength(env,t);
 jint *img =(*env)->GetIntArrayElements(env,t,0);
 for (i=0; i <= len ;i++)
 {
  img[i]=0;
 }
 imgt = (*env)->NewIntArray(env, *img);
  (*env)->ReleaseIntArrayElements(env,t,img,0);
 printf("%d\n",len);
 printf("%d\n",img);  
 return imgt;
 
}

 
Et le java :
 
 

class ImageProcessingPanel extends JPanel  
{
 
public native void displayHelloWorld();
public native int[] procesImage(int t[]);
     
static  
   {
         System.loadLibrary("imgp" );
     }
 
????.

 
Et
 
 
    void dllhello()
    {
        displayHelloWorld();
    }
 
    void dllPImage()
    {
         
        WritableRaster raster = image.getRaster();
         
        System.out.println(image.getColorModel());
        int[] pixels = new int[4 * image.getWidth() * image.getHeight()];
        raster.getPixels(0,0,image.getWidth(),image.getHeight(),pixels);
        raster.setPixels(0,0,image.getWidth(),image.getHeight(),procesImage(pixels));
        repaint();
    }  
 
?????.
 

 
 
Et les sources complètes :
 
http://perso.club-internet.fr/jmgary/Projet_Java.rar

 

[jfdsdjhfuetppo]--Message édité par Babekiller--[/jfdsdjhfuetppo]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)