get- & setRGB

Newb

Erfahrenes Mitglied
Morgen,

wie kann man eine Farbe eines MovieClips abrufen und mit diesem Farbwert einen anderen einfärben?

Klick{
Farbe von MC1 abrufen,
Farbe übergeben,
MC2 einfärben,
}


Code:
var my_color:Color = new Color(_root.mc);
var color_target;
	
green_btn.onRelease = function(){
	color_target = green_btn.getRGB();     //Farbe des Buttons wird abgerufen
	my_color.setRGB(color_target);          //MC wird mit der Buttonfarbe eingefärbt
	trace(color_target);
}


Komme damit noch nicht so ganz klar...



MfG
General ']['.G.
 
Hi,

das geht im Prinzip genau so, vorausgesetzt, Du hat dem Color-Objekt des Quell-Clips zuvor eine Farbe mit setRGB zugewiesen (siehe Beispiel im Anhang).

Existiert für den Ziel-Clip keine Farbzuweisung (willst Du also ermitteln, welche Farbe - und das können ja mehrere sein - ein beliebiger MC hat), so musst Du den Quell-Clip Pixelweise mit Hilfe der BitmapData-Klasse analysieren.

Gruß
.
 

Anhänge

Hi,

eigentlich wäre es nur eine Farbe (Vorrausgesetzt er bezieht die Rahmen/LinienFarbe nicht mit ein).

Es ist ein Viereck mit einer unbekannten Farbe.
Dieses Viereck hat nur noch einen Rahmen, sonst nichts und ist eine Schaltfläche.

ich probier die BitMap-Data-Sache nachher mal aus.....Danke erstmal :-)



MfG:
General ']['.G.
 
Hi,

in diesem Fall kommst Du mit getRGB nicht weiter - diese Methode gibt nur einen Transformationswert zurück, den Du vorher per setRGB gesetzt hast. Um die Farbe eines Rechtecks zu ermitteln, musst Du (da Du ein einfarbiges Feld verwendest) zumindest einen Pixel per BitmapData.getPixel testen.

In meinem Blog findest Du hierzu übrigens ein (erweitertes) Beispiel, mit dem Du die durchschnittliche Farbe eines beliebig bunten Clips ermitteln kannst: Link

Gruß
.
 
Zurück