| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 292
| BitmapData veraendern
Hi zusammen ich stehe nun seit Tagen vor einem Problem und finde einfach den Fehler nicht. Folgendes: Ich erstelle zunächste bei MOUSE_DOWN einen MovieClip, in dem ich die Mausbewegung als Grafik speichern möchte. Code: childMarkieren = new MovieClip(); childMarkieren.transform.colorTransform = color_trans_markierung; childMarkieren.alpha = 0.4; //add container for saving mousemovement inside containerMarkieren.addChild(childMarkieren); childMarkieren.graphics.lineStyle (30, 0xeeeeee, 0.4); //childMarkieren.graphics.beginFill(0xeeeeee); childMarkieren.graphics.moveTo (childMarkieren.mouseX, childMarkieren.mouseY); Code: childMarkieren.graphics.lineTo(childMarkieren.mouseX, childMarkieren.mouseY); bei MOUSE_UP erstelle ich aus dem MC ein BitmapData Objekt, erzeuge daraus eine Bitmap die ich anzeige: Code: myBitmapData = new BitmapData (containerMarkieren.width, containerMarkieren.height, true, 0x00FFFFFF); myBitmapData.draw(childMarkieren, null, color_trans_markierung, null, null, false); childMarkieren.visible = false; bm = new Bitmap(myBitmapData); containerMarkieren.addChild(bm); So nun das Problem: Ich moechte jetzt (in einem anderen "modus") aus der BitmapData Pixel verändern. Das habe ich nun (im letzen Versuch) so versucht: Die Mausbewegung speichere ich in einem anderen MovieClip childRadieren. Diesen adde ich ebenfalls an ContainerMarkieren. Dann habe ich versucht durch alle Pixel zu loopen und sie auf transparent zu setzen. Geht nicht. Ich habe auch versucht, einfach per Blendmode das eine über das andere Objekt zu legen. Es funktioniert nichts!! Hat jemand Erfahrung damit? Ich dreh echt durch |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
mir ist nicht klar, was du machen möchtest? transparent radieren? sowas? http://www.seibsprogrammladen.de/fra...ispiele/flash8 -> draw_trans_in_mc Ein mc in ein BitmapData und transparent darauf zeichnen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 292
|
ja genau das und ich bin zu bescheuert es auf meine beduerfnisse anzupassen. also hier nochmal ein bisschen strukturierter: onMouseDown PHP-Code: dann bei MouseMove: PHP-Code: )und dann onmouseup is eigentlich erstmal unwichtig, denn das ganze soll ja dynamisch passieren.. aber es geht einfach nicht ![]() seht ihr meinen fehler? |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
die bitmap muss beim erzeugen transparent angelegt werden. nachträglich kann man das nicht mehr ändern. dann kann man ARGB (alpha-Rot-Grün-Blau) punkten. flash-hilfe: BitmapData () Konstruktor public function BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
das z.b. geht: neue fla und Code: var bitmap:BitmapData = new BitmapData(200, 200, true, 0x55FF0000); var bitmap_mc:Bitmap = new Bitmap(bitmap); addChild(bitmap_mc); // var temp:Sprite = new Sprite(); temp.cacheAsBitmap = true;// ohne das hat die linie kein antialising temp.graphics.lineStyle(8, 0); temp.graphics.moveTo(10, 10); temp.graphics.lineTo(190, 190); bitmap.draw(temp, null, null, BlendMode.ERASE);
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (18-01-2009 um 19:02 Uhr) |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
| Code: var bitmap:BitmapData = new BitmapData(200, 200, true, 0x55FF0000);
var bitmap_mc:Bitmap = new Bitmap(bitmap);
addChild(bitmap_mc);
//
var altX:Number;
var altY:Number;
var paintis:Boolean=false
stage.addEventListener(MouseEvent.MOUSE_MOVE, fMOUSE_MOVE);
//
function fMOUSE_MOVE(e:MouseEvent):void {
if (paintis) {
var temp:Sprite = new Sprite();
temp.cacheAsBitmap = true;// ohne das hat die linie kein antialising
temp.graphics.lineStyle(4, 0);
temp.graphics.moveTo(altX, altY);
temp.graphics.lineTo(e.localX, e.localY);
bitmap.draw(temp, null, null, BlendMode.ERASE);
}
paintis=true;
altX=e.localX;
altY=e.localY;
}
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 292
|
danke dir! habs jetzt. noch eine sache.. wenn ich bei mouseup folgendes adde: bitmap.draw(childMarkieren, null, color_trans_markierung, "normal", null, null); bitmap2 = new Bitmap(bitmap); addChild(bitmap2); containerMarkieren.removeChild(childMarkieren); markisSet = true; dann wird von mal zu mal dass dieser codeabschnitt aufgerufen wird, die farbe ein bisschen dunkler. wird gesetzt durch color_trans_markierung.color=0xe30056; in abhaengigkeit von der auswahl durch den benutzer. mein mc (der mousedraw) der in die bitmap umgewandelt wird, hat zu beginn einen alphawert von 0.4 (childMarkieren.graphics.lineStyle (30, color_trans_markierung.color, 0.4); und der color_trans_markierung wert wird ja im draw() mit uebergeben. ich verstehe nicht woran es liegt dass die farbe dunkler wird. erst dachte ich, es laege sich jeweils der mc doch irgendwie drueber, aber es wird einfach die gesetzte farbe dunkler. vielleicht hast du oder jemand ja eine idee. ich wollte das hier garnicht fragen aber vielleicht sitz ich heute schon zu lange als dass ich noch irgendetwas sehen wuerde, was bestimmt offensichtlich ist... Geändert von chrissy810 (19-01-2009 um 00:14 Uhr) |
| | |
| | #11 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
ohne etwas sehen zu können .. wenn's immer dunkler wird, dann wirst du schon irgend was addieren?
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 292
|
onMouseDown PHP-Code: PHP-Code: PHP-Code: |
| | |
| | #13 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
was mache ich jetzt mit den 3 script-fragmenten?
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 292
|
und wenn ich mal testweise PHP-Code: |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 292
|
naja ich dachte du siehst sie dir mal an, denn wenn etwas zu viel adden, dann hier, das sind die die aufgerufen werden und mit meinem problem zu tun haben, auf deine mail von wegen du sagst jetzt mal was ohne was zu sehen. ich dachte du siehst jetzt vielleicht was..
|
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |