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

Java ME Discussion :

Fondu Images J2ME


Sujet :

Java ME

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut Fondu Images J2ME
    Bonjour!

    Je cherche désespérément le moyen de faire un fondu sur une image pour un jeu de téléphone portable que je suis en train de faire... Or je n'arrive pas à trouver comment faire, je n'ai vu aucun tuto là dessus, et malgré mes recherches actives sur internet, je n'ai pas réussi à trouver quelque chose pour m'aider.

    Merci d'avance pour vos réponses.

    Anne

  2. #2
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut AlphaComposite
    pour un fondu graphique, la méthode courante est de varier le coefficient alpha de l'objet Graphics en fonction du temps. Il existe une classe Java AlphaComposite très simple d'utilisation que tu appliques directement sur l'objet Graphics.
    Mis à part cela, je serai très intéressé de connaître le moyen de porter une application Swing J2SE standard sur J2ME.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut Merci
    Ok, c'est bon j'ai résolu ce problème. Merci de m'avoir mise sur la voie
    En fait ce que j'ai fait (au cas où quelqu'un ait le même problème) c'est ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    int[] rgb = rgbData;
    int size = width * height;
    int argb, a, r, g, b;
    // redimension de l'image à la taille width, height (fonction que j'ai faite)
    Image cache =redimImage(Image.createImage(URL_CACHE), width, height);
    cache.getRGB(rgbData, 0, width, 0, 0, width, height);
    for(int j=0; j<size;j++){
    	argb = rgbData[j];
    	a = ((argb & 0xff000000) >> 24); // alpha channel
    	r = ((argb & 0x00ff0000) >> 16); // red channel
    	g = ((argb & 0x0000ff00) >> 8); // green channel
    	b = (argb & 0x000000ff); // blue channel 
    	a=a-8;
            // si la transparence min est atteinte (a compris entre 255 et 0)
            if(a<0) a=0;
    	// on réassemble
    	rgbData[j] = ((a << 24) | (r << 16) | (g << 8) | b);
    }
    Image img_temp = Image.createRGBImage(rgbData,width,height,true);
    Alors dans img_temp se trouve l'image "cache" en plus transparent.

    Voilà, si ca peut aider quelqu'un

    Anne

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Est-ce que tu peux m'en dire plus sur ta méthode redimImage ? J'ai essayé d'en faire (pomper) une moi aussi, mais je suis tombé sur des problèmes de dépassement mémoire.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut Redimension Images
    Voici le code de ma fonction qui me permet de redimmensionner une image. Tu passes en param l'image à redimmensionner, et la nouvelle longueur et la nouvelle hauteur. Si tu passe une valeur négative pour la hauteur, alors la fonction redimmensionne en gardant le rapport hauteur/largeur de l'image passée en paramètres. Voila, en espérant que cela puisse t'aider....

    Si jamais tu as deux minutes et que tu t'y connais en InputStream pour faire du traitement d'images (genre mettre un effet sépia ou monochrome sur une image), si tu pouvais regarder, j'ai mis un post en JavaME (toujours) intitulé :
    Image Processing : Problème avec les Inputstream du MédiaProcessor... j'ai besoin d'aide là dessus, si cela t'es possible

    En attendant bonne chance, et j'espère que le code que je t'ai mis ci-dessous t'aidera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
     
    /*--------------------------------------------------
      * Redimmension Image
      *-------------------------------------------------*/
    private Image redimImage(Image _image, int _longueur, int _hauteur){
            int sourceWidth = _image.getWidth();
            int sourceHeight = _image.getHeight();
            int redimWidth = _longueur;
            int redimHeight = _hauteur;
     
            if (redimHeight < 0)
                redimHeight = redimWidth * sourceHeight / sourceWidth;
     
            Image redimImage = Image.createImage(redimWidth, redimHeight);
            Graphics g = redimImage.getGraphics();
     
            for (int y = 0; y < redimHeight; y++)
            {
                for (int x = 0; x < redimWidth; x++)
                {
                    g.setClip(x, y, 1, 1);
                    int dx = x * sourceWidth / redimWidth;
                    int dy = y * sourceHeight / redimHeight;
                    g.drawImage(_image, x - dx, y - dy, Graphics.LEFT | Graphics.TOP);
                }
            }
     
            return Image.createImage(redimImage);
        }

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Heu... je ne m'y connais malheureusement pas assez ; merci pour ton code je vais essayer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Menu avec images J2ME
    Par stephdemars dans le forum Java ME
    Réponses: 1
    Dernier message: 21/01/2010, 12h33
  2. Apparition fondue image et texte au survol de la souris
    Par mymind dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/07/2009, 14h29
  3. [AS2] fondu image
    Par Jérémy Lefevre dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 05/05/2009, 17h53
  4. Réponses: 3
    Dernier message: 13/10/2008, 10h27
  5. [J2ME][MIDlet]rafraichir une image sans toucher au form?
    Par noobiewan kenobi dans le forum Java ME
    Réponses: 1
    Dernier message: 05/09/2005, 09h54

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