Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-02-2008, 08:05   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 113
Bitmap zu Bitmap nach Farben kopieren?

hallo

mir kreiselt da was im kopf rum und ich weis nicht
so recht ob das überhaupt realisierbar ist

ich hab eine bitmap die eine karte enthält...diese
karte würde ich gerne in andere bitmaps kopieren
allerdings nur mit dem inhalt bestimmter farben..

z.b. von karte bitmap -> nur blauton(0000FF) -> neue bitmap wasser

der rest der neuen bitmap sollte transparent/leer sein

geht das überhaupt?

lg sven
Sven_TK ist offline   Mit Zitat antworten
Alt 12-02-2008, 08:17   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Hier mal ein Beispiel...
PHP-Code:
import flash.display.BitmapData;
import flash.geom.Rectangle;

var 
bmp1:BitmapData = new BitmapData100100true0xFF0000 );
bmp1.fillRect( new Rectangle10105050 ), 0xFF0000FF );

this.attachBitmapbmp1);

bmp1.thresholdbmp1bmp1.rectanglebmp1.rectangle.topLeft"!="0xFF0000FF0x00000000 ); 
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 15-02-2008, 08:10   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 113
vielen dank für die antwort

ja,im prinzip tut es "fast" das was ich wollte
die karte ist eine gif datei..ich hab vor wie gesagt
die bitmap zu zerlegen so das nur die zielfarben
bleiben (siehe code) das klappt auch prima
ABER: das was in dem beispiel schwarz wird
sollte eigentlich 100% transparent sein
und dort der hintergrund durchscheinen
(also alles was nicht FF0000FF soll transparent sein!)

oder krieg ich das zusätzlich noch mit nem
anderen befehl hin?

lieben gruß sven


PHP-Code:
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var 
land:BitmapData BitmapData.loadBitmap("land");


var 
maskebmp:BitmapData = new BitmapData(10001000false0x00CCCCCC);
maskebmp.copyPixels(land, new Rectangle(0010001000), new Point(00));

var 
mc:MovieClip this.createEmptyMovieClip("mc"this.getNextHighestDepth());
mc.attachBitmap(maskebmpthis.getNextHighestDepth());



mc.onPress = function() {
 
maskebmp.threshold(maskebmp, new Rectangle(0010001000), new Point(00), "!="0xFF0000FF0x000000000x00FFFFFFfalse);

Sven_TK ist offline   Mit Zitat antworten
Alt 15-02-2008, 13:14   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Dann musst du dir auch ein transparentes BitmapData Objekt erstellen.
Heißt der 3te Parameter muss true sein!

PHP-Code:
new BitmapData100100true0xFF0000 ); 
Siehe Doku...
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 15-02-2008, 19:14   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 113
gaaanz lieben dank
Sven_TK ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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 20:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele