[java-applet] schaduw met zwart-wit plaatje

Pagina: 1
Acties:
  • 155 views sinds 30-01-2008
  • Reageer

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
In een applet moet ik een schaduw rand maken om een plaatje.

Deze schaduw rand moet met een rgb waarde in te stellen zijn. (0-255,0-255,0-255)

Op dit moment is het plaatje geimplementeerd als een plaatje die al de gewenste achtergrond heeft. Echter ik wil het als volgt doen:

Het plaatje wordt zwart-wit. De juiste kleur wordt vervolgens in dit plaatje gemengd. Probleem is dat ik niet echt weet hoe ik dit moet doen. Ik had al aan alfa waarden zitten denken, maar daar kan ik weinig over vinden.

Het is een applet die moet werken met Java JDK 1.1 Best wel lastig, maar ja een specificatie is dat het moet werken op elk standaard web browser en dus kun je niet boven jdk 1.1 gaan.

Iemand ervaring ideeën hiermee?

  • im_ik
  • Registratie: November 2000
  • Laatst online: 28-12-2025

im_ik

dat ben ik dus

Ik heb wel een idd tje:

Maak een WritableRaster aan die x% groter is dan je plaatje.
En ga dan de randen (1/2 meestal) inkleuren met de kleur die aan de rand van je plaatje zit.
En dan ook nog naar wit toeloopend.

Voorbeeldt
-plaatje is 10x10 pixels
-maak raster aan van 15x15
-zet plaat links boven in raster
Dan hoe je recht 5 pixel over.
Dan ga je van links naar rechts de pixels inkleuren
met een steed donkers kleur dan de vorige.

Oke er zijn vast wel makkelijkere manieren maar dit kwam als eerste in me op.
Volgens mijn moet het staandaar met graphics2D kunnen.
edit: ergens hier zit het... kan maandag pas verder zoeken :(

Atari Terminator AI - LegoBlockX3 = ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.T008ᖟ


Verwijderd

In de body:

<style>
<!--
.popshadow{
position:relative;
left:-5;
top:-5;
filter:shadow(silver,direction=135)
}
-->
</style>

<script language="JavaScript1.2">

function updownshadow(){
if (event.srcElement.className=="popshadow"){
tempobject=event.srcElement
if (event.type=="mousedown"){
tempobject.filters[0].enabled=false
tempobject.style.left=tempobject.style.top=0
}
else{
tempobject.filters[0].enabled=true
tempobject.style.left=tempobject.style.top=-5
}
}
}

if (document.all){
document.body.onmousedown=updownshadow
document.body.onmouseup=updownshadow
}

</script>


In de <img> tag:

class="popshadow"


Het werkt alleen in IE trouwens....

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Ik ben bezig met java en niet met javascript.



Dat van dat writable raster zal ik is bekijken, en ik ben ook al aan het spitten in de Java api...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-09 22:25

Janoz

Moderator Devschuur®

!litemod

Op donderdag 11 oktober 2001 16:49 schreef im_ik het volgende:
Ik heb wel een idd tje:

Maak een WritableRaster aan die x% groter is dan je plaatje.
En ga dan de randen (1/2 meestal) inkleuren met de kleur die aan de rand van je plaatje zit.
En dan ook nog naar wit toeloopend.

Voorbeeldt
-plaatje is 10x10 pixels
-maak raster aan van 15x15
-zet plaat links boven in raster
Dan hoe je recht 5 pixel over.
Dan ga je van links naar rechts de pixels inkleuren
met een steed donkers kleur dan de vorige.

Oke er zijn vast wel makkelijkere manieren maar dit kwam als eerste in me op.
Volgens mijn moet het staandaar met graphics2D kunnen.
edit: ergens hier zit het... kan maandag pas verder zoeken :(
Hmm ... Writable raster en Graphics2D zaten toch nog niet in 1.1? Ik kan het mis hebben hoor... Waarschijnlijk zul je het met de gewone Graphics moeten doen..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Op donderdag 11 oktober 2001 19:48 schreef Janoz het volgende:

[..]

Hmm ... Writable raster en Graphics2D zaten toch nog niet in 1.1? Ik kan het mis hebben hoor... Waarschijnlijk zul je het met de gewone Graphics moeten doen..
ZUUR!!:r

Nah ja, maar is kijken of ik iets kan verzinnen wat acceptabel werkt.
Pagina: 1