J2me images

aminacpp Messages postés 17 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 12 juillet 2008 - 4 juin 2008 à 22:44
aminacpp Messages postés 17 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 12 juillet 2008 - 12 juil. 2008 à 21:18
salut
je suis étudiante et je suis entrain de réaliser une petite application dont le but est d'ouvrir (charger) des images (enregistrées dans un fichiers),à partir de J2ME;
j'ai fais plusieurs recherches et j'arrive pas à résoudre ,si quel qu'un  a une idée aide moi stp,Merci d'avance.

9 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
5 juin 2008 à 01:11
Salut:

J'ai fait une petite recherche et j'ai trouvé:

1. Les images en J2ME sont des instances de la classe javax.microedition.lcdui.Image

2. La spécification de J2ME oblige d'utilisation des images au format PNG. Ce type de format supporte la transparence et la compression sans perte.

3. La classe Image n'a pas de constructeurs, mais cette classe offre plusieurs variantes de la méthode createImage() pour obtenir des instances de la classe Image.

Ces méthodes permettent le chargement des images à partir des fichiers au format PNG:

public static Image createImage(String name);
public static Image createImage(byte[] data, int offset, int length);
public static Image createImage(InputStream is);
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 juin 2008 à 10:02
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta name="GENERATOR" content="OpenOffice.org 2.4 (Linux)" />
<style type="text/css">
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
Salut,

" La spécification
de J2ME oblige d'utilisation des images au format PNG"
>Tu
pourrais me donner la source stp ? car justement j'ai dev un
softphone sur j2me, et il contient des images 'png' et 'jpg', bon
j'utilise l'api LWUIT donc c'est peut-être elle qui prend le
'jpg' en charge...


Au passage si vous devez utiliser un toolkit
graphique sous J2ME, je conseil fortement l'api LWUIT qui est
super agréable à utiliser (ressemble plus à de l'AWT).


Elle contient
tout pour faire des petits thèmes, gestion des transitions (jusqu'au
support 3D) pour ajouter des effets sympa lors des changements de
fenêtres, composants graphique améliorés, etc...






LWUIT Home


LWUIT Tutorial



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
5 juin 2008 à 11:18
Salut:

"Tu pourrais me donner la source stp ?"

Pas de problème, je me suis référé à un livre en J2ME. Dommage que mon portable n'est avec moi, ce soir quand je renterais à la maison je vais t'envoyé toutes les informations nécessaires (nom livre + auteur + page + extrait du livre).
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 juin 2008 à 11:33
Salut,

c'est cool ça, je veux bien merci ^^

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
5 juin 2008 à 19:01
Salut:

Tiens:

Livre: Beginning J2ME From Novice to Professional, Third Edition
Edition: APress
Auteurs: Jonathank Knudsen & Sing Li

Voici un extrait: (Page: 92/473)

About Images
Our romp through the List class yields a first look at images. Instances of the javax.microedition.lcdui.Image class represent images in MIDP. The specification dictates implementations be able to load images files in PNG format. This format supports both a transparent color and lossless compression.

Image has no constructors, but the Image class offers a handful of createImage() factory methods for obtaining Image instances. The first are for loading images from PNG data.

public static Image createImage(String name)
public static Image createImage(byte[] imagedata, int imageoffset, int imagelength)
public static Image createImage(InputStream stream)

The first method attempts to create an Image from the named file, which should be pack-aged inside the JAR that contains your MIDlet. You must use an absolute pathname or the image file will not be found. The second method creates an Image using data in the supplied array. The data starts at the given array offset, imageoffset, and is imagelength bytes long. The third method creates an Image from an InputStream.

Conclusion: j'avoue que je me suis tromper en interprétant cette paragraphe. En fait j'ai fait le vol du texte sans prendre le temps de le dégèrer.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 juin 2008 à 20:38
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta name="GENERATOR" content="OpenOffice.org 2.3 (Linux)" />
<style type="text/css">
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
Salut,

c'est bien ce que je me
disais, il me paraissait anormale que seul PNG soit pris en charge
sachant qu'à ma connaissance (pas spécialement étendue
sur tous les modèles) les devices mobile ont tous le support
du JPG, fin bon c'est un détail hein ^^











------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
aminacpp Messages postés 17 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 12 juillet 2008
7 juin 2008 à 00:21
Salut
merci beaucoup pour vos réponses.
0
aminacpp Messages postés 17 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 12 juillet 2008
7 juin 2008 à 00:31
Salut
merci,Twinuts ,j'ai pas encore terminer le code en java ou je dois deviser une image en morceau et l'envoyer au J2ME,et j'ai des prblm aussi dans le sauvgarde des morceaux ,quand j'aurais resolu le problème je t'envoyerais le code .merci
0
aminacpp Messages postés 17 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 12 juillet 2008
12 juil. 2008 à 21:18
salut!
Twinuts , voilà le code source en java et lexecution se faite en j2me ,mais ici je ne peux ouvrir qu'une seule image, je cherche comment faire pour afficher le repertoire de toolkit pour choisir l'image qu'on veux afficher et ne pas fixer son chemin dasn le programme.si tu as une idée  SVP .Merci d'avance.

voilà mon programme .le fichier image F1 doit etre dans le src et res de mon  programme.

import java.io.IOException;

// contient les éléments de base
import javax.microedition.midlet.*;
// contient les éléments permettant de gérer l'interface
import javax.microedition.lcdui.*;

public class adaptation extends MIDlet implements CommandListener
{
private Display _display;
private TextField _textField1;
private Command _commandExit;
private Form _form1;

public adaptation() throws IOException
{
// fait un lien avec l'affichage
_display = Display.getDisplay(this);

// creation d'un objet formulaire sur lequel on peut placer des composants
_form1 = new Form("Manipulation des images");
_form1.setTicker(new Ticker( "L'Adaptation des données "));

try {
ImageItem logo = new ImageItem("IMAGE ",Image.createImage("/F1.png"),ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_BEFORE |ImageItem.LAYOUT_NEWLINE_AFTER,"Macmillian USA");

_form1.append (logo);
}
catch (IOException e) {
_form1.append (new StringItem("Copyright", "Sams Publishing; Image not available:" + e));
}

// creation d'un bouton pour sortir du programme
_commandExit = new Command("Exit", Command.SCREEN,1);

// creation d'un champ de texte contenant notre Hello World
_textField1 = new TextField("","Hello World !",15,TextField.ANY);

// ajout des composants au formulaire
_form1.addCommand(_commandExit);
//_form1.append(_textField1);
_form1.setCommandListener(this);
}

// évènement exécuté au démarrage de l'application
public void startApp()
{
// affichage du formulaire
_display.setCurrent(_form1);
}

// évènement exécuté lors de la mise en pause de l'application
public void pauseApp()
{
}

// évènement exécuté lorsque l'application se termine
public void destroyApp(boolean unconditional)
{
}

public void commandAction(Command c, Displayable s)
{
// lors du clic sur le bouton Exit
if (c == _commandExit)
{
// appel manuel à la fonction de fermeture
destroyApp(false);
// on demande au manager de fermer l'application
notifyDestroyed();
}
}
}
0
Rejoignez-nous