Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-03-2009, 10:36   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
Question transparente Maske

Hallo!

Ich habe ein Canvas-Objekt welches ich mit einem Bild maskiere. In dem Canvas befindet sich noch ein Image-Child welches man mit der Maus verschieben kann. Ich hätte jetzt gerne, dass die Maske beim verschieben des Bildes transparent wird, damit man das komplette Bild beim verschieben sieht und die Maske dann beim MouseUp wieder normal wird.
Lieder klappt das mit der transparenten Maske nicht, es wird immer nur das Bild im Canvas transparent aber nicht die Maske selbt.

Hat wer ein Idee woran das Liegen könnte?

Hier mein Code:
Code:
<mx:Script>
    <![CDATA[
        import flash.events.MouseEvent;

        private function dimCanvasObjectOn(event:MouseEvent):void
        {
    		product.mask.alpha = 0.5;
	}
			
	private function dimCanvasObjectOff(event:MouseEvent):void
        {
    		product.mask.alpha = 1;
	}

	]]>
</mx:Script>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Canvas id="canvasObject" 
		 cacheAsBitmap="true"
	         mask="{maskImage}"
                 mouseDown="dimCanvasObjectOn(event);" 
                 mouseUp="dimCanvasObjectOff(event);">
                 
                <mx:Image id="img"
		mouseDown="img.startDrag()" 
		mouseUp="img.stopDrag()"/>

</mx:Canvas>

<mx:Image id="maskImage"	
               cacheAsBitmap="true" 
               source="foo.png"/>

</mx:Application>

Danke und Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Alt 31-03-2009, 18:27   #2 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 56
ich weis nicht ob ich dich richtig verstanden habe, aber masken funktionieren nicht invers. Wenn du die transparenz einer maske runterziehst, dann wird dein maskiertes objekt auch transparent.

was du machen willst ist deine maske vergrößern,.. dann wird dein bild komplett angezeigt..
__________________
www.negdis.de
Guille ist offline   Mit Zitat antworten
Alt 31-03-2009, 19:53   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
Ja, genau das möchte ich eben nicht.

Wie kann ich die Maske denn vergrößern?


Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Alt 01-04-2009, 10:46   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 56
1. nimm als maske nicht ein image, sondern ein canvas mit hintergrundfarbe z.b.

2. width, heigth??
__________________
www.negdis.de
Guille ist offline   Mit Zitat antworten
Alt 01-04-2009, 15:19   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
So würde ich beim mouseDown die Bildmaske gegen ein Canvas austauschen... aber ich möchte ja das man weiterhin die Form der Maske erahnen kann. Das ist dann wohl mit "mask" so nicht möglich oder doch?

Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Alt 01-04-2009, 21:43   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 56
ach deine Maske ist ein Bild mit transparenzen?

beschreibe mal dein vorhaben,.. ich glaube dann verstehen wir uns besser ;-)
__________________
www.negdis.de
Guille ist offline   Mit Zitat antworten
Alt 02-04-2009, 06:40   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
hast recht ;-)

Also, ich möchte den Nutzer die Möglichkeit geben ein Produkt nach seinen Wünschen zu gestalten. Er hat die Möglichkeit ein Bild hochzuladen und es dann in der Maske zu verschieben. Die Maske ist ein Bild es Produktes mit transparentem Hintergrund. Flex macht den Teil des Produktes Transparent und der Rest wird Weiß, so dass das hochgeladen Bild darin erscheint. Das Funktioniert so schon wunderbar. Nur hätte halt gern, dass das ganze Bild beim museDown sichtbar wird bzw. der undurchsichtige Teil des Produktes transparent.

Ein Beispiel:
http://www.imgbox.de/?img=k43710m102.jpg


Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Alt 03-04-2009, 10:46   #8 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 56
ach so :-)

versuch mal die maske auszuschalten bei mouse-down, und wieder einzuschalten bei mouse-up...
__________________
www.negdis.de
Guille ist offline   Mit Zitat antworten
Alt 03-04-2009, 17:57   #9 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
Das geht, wenn ich
Code:
product.mask = null;
beim museDown schreibe,
Code:
product.mask = maskImage;
beim mouseUp und beim maskImage
Code:
visible = false
setzte.
Aber dann kann man ja die Umrisse nicht mehr sehen :-(

Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
maske

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele