» »

[java] transparentnost

[java] transparentnost

Foton ::

Zanima me kako lahko narediš v javi sliko transparentno?
Npr. da postane transparentna, ko z nje umakneš miskin kazalcek.

lp

Spiko ::

A sis iguren, da govoriš o Javi ? da ne mogoče o javascriptu?
Take that, dirty Linux hippies! Take that, Thieving Macintosh Republicans! XD

Foton ::

Ja. Kaj se tega v Javi ne da naredit?

Spiko ::

;( 100% se da ampak ti ne znam pomagat v javi. razen če pokažeš mal kode
Take that, dirty Linux hippies! Take that, Thieving Macintosh Republicans! XD

Foton ::

Nisem se nič pametnega skupaj spravil.

JerKoJ ::

Za dogodke lovit mores na komponento awt povezat MouseListener interface (metodi mouseExited in mouseEntered)
Pol k se ta dogodek zgodi mores pa operirat z grafiko v awt - najlazi je met v ozadju dve sliki, eno k ima pomen in eno
ki je ena barvi ozadja pol jih pa memas glede na to kje je mis (in or out).

Upam da sem te prov zastopu kaj ces, drgac pa res kej kode pokaz al pa vsaj bl opis

Foton ::

Ja, tako sem imel narejeno zdaj, kar pa ne omogoča, da postane slika transparentna postopoma. Mislim, da bom ostal kr pri dveh slikah, ki se izmenjujeta.

hvala za pomoč
lp

JerKoJ ::

nisem se nikol delu s transparentnostjo v javi sam v teoriji bi se dal uporabt
alfa kanal, torej da ga pocasi z vrednosti 1.0 znanjsas na 0.0
Z dogodkom sprozs nit, ki na vsakih nekaj ms alfa za vsak pixel na sliki
zanjasa za doloceno majhno vrednost , ko pride do 0.0 se nit ukine
Simetricno za prikaz slike

poroci ce bos se kej na tem delu

Foton ::

Ena od moznosti je opisana na tej strani , ampak lahko na tak način spreminjaš samo barve, alpha pa ostane 255.

BufferedImage image1;
try {
   FileInputStream in = new FileInputStream("c:/14.jpg");
   JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
   image1 = decoder.decodeAsBufferedImage();
   in.close();
} catch (Exception e) {}

for (int i=0; i < image1.getWidth(); i++) {
   for(int j=0; j < image1.getHeight(); j++){
      int rgba = image1.getRGB(i,j); 
      int red = (rgba >> 16) & 0xff;
      int green = (rgba >>  8) & 0xff;
      int blue = rgba & 0xff;
      int alpha = (rgba  >>  24) & 0xff;	
      alpha=30;    //0-225				
     rgba = (alpha  ** 24) | (red ** 16) | (green ** 8) | blue;  // * pomeni  manjsi
      image1.setRGB(i,j,rgba);
   }
} 
... //izris slike


Ve kdo kje je napaka?

Zgodovina sprememb…

  • spremenil: kopernik ()

jpzoky1 ::

ne bi sicer rekel, da vem, kje je napaka, mislim pa si, da je prehitro prišla vrstica
in.close();

poskusiti ni greh;)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JAVA] HTTPS client

Oddelek: Programiranje
173049 (1779) peterv6i
»

Java skeniranje map in podmap

Oddelek: Programiranje
61068 (957) nightrage
»

Java in pošiljanje elektronske pošte!!

Oddelek: Programiranje
51277 (1178) janez_janez
»

[JAVA] branje iz datoteke

Oddelek: Programiranje
242279 (1914) Bela01
»

Kako pošiljanje datotek v JAVI.

Oddelek: Programiranje
141729 (1600) kopernik

Več podobnih tem