Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: Kako ucitati Gif sliku iz fajla a da se ne iscrtava?  (Pročitano 5355 puta)
MilanSt
Gost
« poslato: Četvrtak, 27. Decembar 2001. 01:47:19 »

Hocu da ucitam neku sliku iz GIF-a. malo je obradim i vratim nazad u GIF.
Nasao sam freeware klasu GIFENcoder koja lepo napravi GIF od Image-a.
Medjutim to ne radi ako Image ne stvorim vec ga ucitam iz fajla. To radim ovako
[code:1:61ca6ab4d5]Image img = Toolkit.getDefaultToolkit().createImage("test.gif");[/code:1:61ca6ab4d5]

I onda probam
[code:1:61ca6ab4d5]GIFEncoder ge = new GIFEncoder(ge);[/code:1:61ca6ab4d5]
Dobijem Exception koji znaci da Image nije ucitan. Znam da kada se koristi ovakav nacin ucitavanja (u appletima na primer), Image se ne ucitava sve dok nije potrebno da se iscrta. To je verujem i ovde slucaj. Kako da ga nateram da se odmah ucita?????!??!?!
Probao sam razne stvari sa MediaTracker-om i ImageObserverom ali ne ide.
Uopste mi nije potrebno iscrtavanje, vec samo offscreen manipulacija.
Predlozi??
Sačuvana
djordje2001
Gost
« Odgovor #1 poslato: Sreda, 06. Mart 2002. 19:25:56 »

probaj sa klasom ImageIcon. Ona ne radu u posebnoj niti i program nastavlja dalje tek kada se slika ucita.
Sačuvana
djordje2001
Gost
« Odgovor #2 poslato: Sreda, 06. Mart 2002. 19:30:51 »

Image img;

ImageIcon ic = new ImageIcon("test.gif");
img = ic.getImage();
Sačuvana
MilanSt
Gost
« Odgovor #3 poslato: Četvrtak, 07. Mart 2002. 00:48:39 »

To sa ImageIcon ne radi, jer interno ta klasa koristi MediaTracker i opet imam isti problem.
Problem je u tome sto neki od AWT tredova izvisi jer ga sistem ne ugasi automatski iz nekog razloga (to mi je neko rekao zasto, ali sada ne mogu da se setim tacno zasto). To je sve ok, u glavnom programu bih rekao System.exit(0) ali mi to treba u proceduri, tj. u servletu.
Resenje nudi novi JDK 1.4 sa ImageIO klasama. Nisam jos to probao ali uskoro cu. Trebalo da mogu slike da se ucitavaju i ispisuju u fajlove i slicne stvari.
Sačuvana
djordje2001
Gost
« Odgovor #4 poslato: Četvrtak, 07. Mart 2002. 16:24:11 »

evo parce koda iz mog servleta, i ovo fukcionise:

      ImageIcon ic = new ImageIcon(imgName);
      img = ic.getImage();

      int h = img.getHeight(null);
      int w = img.getWidth(null);

      manImg = new BufferedImage(w,h, BufferedImage.TYPE_INT_RGB);
      Graphics gmanImg  = manImg.getGraphics();
      gmanImg.drawImage(img,0,0,null);
Sačuvana
MilanSt
Gost
« Odgovor #5 poslato: Četvrtak, 07. Mart 2002. 21:38:24 »

Probao sam kao servlet i zaista radi. Medjutim kada pustim kao Java aplikaciju, sve radi ok, samo sto program ne zavrsava, tj. kao da stane u trenutku kada treba da vrati kontrolu operativnom sistemu. To je zbog onoh visecih tredova.
Kod servleta nemam takav problem. Tj. mozda tredovi i vise ali to nema nekog uticaja jer servlet server ionako ne prestaje sa radom.
Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na:  

?>