Bonjour,
Je programme une petite application J2ME, et j'ai besoin d'afficher une image web dans un canvas.
J'arrive a afficher une image local grâce à :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
g.drawImage(Image.createImage("image.png"), 0, 0, Graphics.VCENTER | Graphics.HCENTER);

Donc pour une image distante j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
InputStream is = null;
dwlImage();
......
g.drawImage(Image.createImage(is), 0, 0, Graphics.VCENTER | Graphics.HCENTER);
......
Avec cette méthode :

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 public void dwlImage() throws Exception
	  {
		 System.out.println("chargement.....");
 
	  	new Thread(new Runnable(){
	  	   public void run()
	  	   {
 
	  		    String url = "http://site/fichier.png";
	  			HttpConnection c = null;
 
	  			int rc;
 
	  			try {
	  			c = (HttpConnection)Connector.open(url);
 
	  			// Getting the response code will open the connection,
	  			// send the request, and read the HTTP response headers.
	  			// The headers are stored until requested.
	  			rc = c.getResponseCode();
	  			if (rc != HttpConnection.HTTP_OK) {
	  			throw new IOException("HTTP response code: " + rc);
	  			}
 
	  			is = c.openInputStream();
 
	  			// Get the ContentType
	  			String type = c.getType();
 
	  			// Get the length and process the data
	  			int len = (int)c.getLength();
	  			if (len > 0) {
	  			int actual = 0;
	  			int bytesread = 0 ;
	  			byte[] data = new byte[len];
	  			while ((bytesread != len) && (actual != -1)) {
	  			actual = is.read(data, bytesread, len - bytesread);
	  			bytesread += actual;
	  			}
	  			} else {
	  			int ch;
	  			while ((ch = is.read()) != -1) {
 
	  			}
	  			}
	  			} catch (ClassCastException e) {
	  			throw new IllegalArgumentException("Not an HTTP URL");
	  			} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} finally {
 
	  			if (c != null)
					try {
						c.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
	  			}
 
 
	  	   }
	  	   }).start();
 
	  }
Et sa plante....
Je débute en J2ME alors je comprend rien.
Si quelqu'un peut m'aider svp.
Merci