Die Technik der Chroma-Key , also der Ersatz einer bestimmten Farbe zu einer anderen (oder einer anderen Quelle), hat wieder einmal in den letzten zehn Jahren mit großer Arroganz explodierte, dank der zunehmend verbreitete Technologie in den Film und die Verarbeitung von digitalen Bildern.
Artikel Tagged 'Bitmap'
Wie bewerbe ich mich der Technik des Chroma-Key-in Adobe Flash
Flash CS3: Erstellen Sie eine Reflexwirkung auf jeden MovieClip
Unter Ausnutzung der eine bemerkenswerte Eigenschaft von Actionscript 3.0 (siehe ActionScript 3.0, die alle mit dem Operator new ) habe ich eine Klasse ReflexMe in der Lage, einen Effekt "Reflexion" auf jedem MovieClip in der Bibliothek zu erzeugen.
Die Quelle ist Teil des Pakets undolibrary - googlecode dieser - aber wenn Sie möchten, können Sie die einzelnen Datei-Download ReflexMe.as .
Auswirkungen auf die Bitmap mit perlinNoise ()
Die Klasse BitmapData können Sie ganz einfach mit Effekten nützlich für verschiedene Zwecke. Wir haben bereits gesehen, wie man ein "Nebel-TV" mit ein paar Zeilen Code erstellen ( Flash CS3 zu Nebeleffekt TV in 1 Sekunde zu schaffen ). Jetzt werden wir mit einem anderen Effekt "spektakulär", die, wie wir später sehen werden, ermöglicht die Erstellung von interessanten visuellen Effekten, wie im Beispiel unten gezeigt befassen: die Parameter variiert, um die unterschiedlichen Effekte zu beobachten, Klicken mit der Maus auf das Bild generiert Dieser bewegt werden kann.
Bei dieser Gelegenheit habe ich auch hinzugefügt eine neue einfache Komponente (Check) in Undolibrary ! So aktualisieren Sie Ihre SVN-Repository. Die Quelle ist hier erhältlich: MapEffect.zip
Papervision3D: Bitmap Griff wie FIVe3D
Ausgehend von dem Beispiel in gezeigt FIVe3D: Bitmap zu behandeln , wollen wir mal sehen, wie man den gleichen Effekt mit erreichen Papervision3D 2,0 (Great White), sowie weiterhin den Betrieb der Beta-Version Great White zu analysieren.
FIVe3D: Bitmap zu behandeln
Mit dem Release 2.1 von FIVe3D können Sie auch Objekte zu manipulieren Bitmap , so dass die anfängliche Beschränkung dieser Bibliothek nur vector überwinden. e ruotarlo a nostro piacimento: Wenn wir ein umfassen Bitmap in der Bibliothek und esprotiamo in der Lage sein, eine Instanz mithilfe von ActionScript dynamisch erstellen, können Sie einfach ein Objekt erstellen Bitmap3D und drehen wird:
Wie man Bilder in Flash CS3 zu retten
Mit dem Einsatz von Adobe Flash CS3 Bitmap wird so verbessert, dass sofort wollte eine kleine Paint zu erstellen. . Wir haben bereits gesehen, wie eine kleine Paint-machen (siehe Paint in Flash CS3 erstellen Painter: einfache Anwendung zum Zeichnen in Flash CS3 Pro ) kann eine echte "Radiergummi"-Unterstützung - Löschfunktion, dank einer besonderen Verwendung Layer- Shape und Bitmap . Lassen Sie uns sagen, dass Flash (im Gegensatz zu Flex) es nicht zulassen, Kodierung (wie JPG oder PNG) es speichert automatisch die Bitmap-Bilder. Sie können aber drum herum kommen mit einem Server-Side-Scripting und die Fähigkeit, Daten in Flash-POST zu senden.
Flash CS3 zu Nebeleffekt TV in 1 Sekunde erstellen
Flash CS3 nicht wieder in Erstaunen. Hier ist, wie die klassische Nebel von Fernsehgeräten in eine zweite mit 10 Zeilen Code erstellen.
Malerei Flash CS3: Echtzeit Lösch-Funktion
Beginnend mit den Codes versehen in Flash CS3 Erstellen Sie eine Farbe und Durchführung kleinerer Änderungen, erheblich verbessern kann das Instrument der "löschen". Hinzufügen einer Form nicht sichtbar ist, können Sie es als einen "Plan" zu verwenden, um den Lauf draw() Mischmodus "löschen". Wie im Beispiel unten gezeigt, nach der Zeichnung etwas, halten Sie die Strg-Taste und die Wirkung der "Annullierung" ist jetzt in Echtzeit.
Der Code wird wie folgt - Quelle :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | . MouseEvent ; Import flash.events. MouseEvent ; . BitmapData ; Import flash.display. BitmapData ; . Bitmap ; Import flash.display. Bitmaps ; . GradientType ; . import flash.display GradientType ; / / . Matrix ; flash.geom Importe. Matrix ; / / Boolean = false ; md var: Boolean = false; / / Sprite = new Sprite ( ) ; var event_spr: Sprite = new Sprite (); event_spr ) ; addChild (event_spr); / / Number = event_spr . stage . stageWidth ; var area_width: Anzahl = event_spr Praktika stageWidth;.. Number = event_spr . stage . stageHeight - 32 ; var area_height: Anzahl .. = event_spr Praktika stageHeight - 32; / / String = GradientType . LINEAR ; fillType var: String = GradientType . LINEAR; : Array = [ 0xFF0000 , 0x00FF00 , 0x0000ff ] ; var Farben: Array = [0xFF0000, 0x00FF00, 0x0000FF]; : Array = [ 1 , 1 , 1 ] ; var alphas: Array = [1, 1, 1]; : Array = [ 0 , 128 , 255 ] ; var ratios: Array = [0, 128, 255]; String = SpreadMethod . PAD ; spreadMethod var: String = SpreadMethod PAD;. : Matrix = new Matrix ( ) ; var matrix: Matrix = new Matrix (); createGradientBox ( area_width , area_height , 1 , 0 , 0 ) ; . Matrix createGradientBox (area_width, area_height, 1, 0, 0); / / event_spr . graphics ) { mit (event_spr. Grafiken) { fillType , colors , alphas , ratios , matrix , spreadMethod ) ; beginGradientFill (fillType, Farben, Alphas, Verhältnisse, Matrix, spreadMethod); 0 , 0 , area_width , area_height ) ; drawRect (0, 0, area_width, area_height); ; endFill (); } / / Paint-Ereignis ( MouseEvent . MOUSE_DOWN , _onMouseDown ) ; . event_spr addEventListener ( MouseEvent MOUSE_DOWN, _onMouseDown.); ( MouseEvent . MOUSE_MOVE , _onMouseMove ) ; . event_spr addEventListener ( MouseEvent MOUSE_MOVE, _onMouseMove.); ( MouseEvent . MOUSE_UP , _onMouseUp ) ; . event_spr addEventListener ( MouseEvent MOUSE_UP, _onMouseUp.); ( MouseEvent . MOUSE_OUT , _onMouseUp ) ; . event_spr addEventListener ( MouseEvent MOUSE_OUT, _onMouseUp.); / / BitmapData = new BitmapData ( event_spr . width , event_spr . height , true , 0 ) ; var bmpd: BitmapData = new BitmapData (event_spr. Breite, Höhe event_spr, true, 0.); Bitmap = new Bitmap ( bmpd ) ; var bmp: Bitmap = new Bitmap (bmpd); bmp ) ; addChild (bmp); / / / / Temporäre Form Shape = new Shape ( ) ; var draw_shape: Form = new Form (); draw_shape ) ; addChild (draw_shape); / / / / Shape nicht sichtbar ist, verwendet für die "Stornierung" Shape = new Shape ( ) ; var erase_shape: Form = new Form (); / / e : MouseEvent ) : void { _onMouseDown Funktion (e: MouseEvent ): void { ) ; debug ("_onMouseDown"); . lineStyle ( 10 , 0xffffff , 1 ) ; .. draw_shape Grafiken lineStyle (10, 0xffffff, 1); . lineStyle ( 20 , 0xffffff , 1 ) ; .. erase_shape Grafiken lineStyle (20, 0xffffff, 1); . moveTo ( e . localX , e . localY ) ; .. draw_shape Grafiken moveTo (and. localX und localY.); . moveTo ( e . localX , e . localY ) ; .. erase_shape Grafiken moveTo (and. localX und localY.); md = true; } / / e : MouseEvent ) : void { _onMouseUp Funktion (e: MouseEvent ): void { md = false; . draw ( draw_shape ) ; .. bmp bitmapData draw (draw_shape); . clear ( ) ; . draw_shape Grafiken clear ().; . clear ( ) ; . erase_shape Grafiken clear ().; } / / e : MouseEvent ) : void { _onMouseMove Funktion (e: MouseEvent ): void { ) ; debug ("_onMouseMove"); md && ! e . ctrlKey ) { if (md & &! und. ctrlKey) { . lineTo ( e . localX , e . localY ) ; .. draw_shape Grafiken lineTo (and. localX und localY.); ( md && e . ctrlKey ) { } Else if (md & & und. CtrlKey) { . lineTo ( e . localX , e . localY ) ; .. erase_shape Grafiken lineTo (and. localX und localY.); . draw ( erase_shape , null , null , "erase" ) ; bmp bitmapData draw (erase_shape, null, null, "löschen")..; } } / / v : String ) : void { Funktion debug (v: String ): void { : Date = new Date ( ) ; var d: Date = new Date (); d . getMinutes ( ) + ":" + d . getSeconds ( ) + ":" + d . getMilliseconds ( ) + ": " + v ) ; trace (d. getMinutes () + "" + d. getSeconds () + "" + d. getMilliseconds () + "" + st); } |
): Wir haben eine neue Form, fügte erase_shape nicht sichtbar (es war nicht jedem durchgeführt addChild() ):
1 2 3 |
Das Stück Code, das kümmert Zeichnung wurde für die Steuer-Taste eingeführt und, wenn diese Taste gedrückt, ist daran interessiert, genau die Form erase_shape und kopiert die Bitmap:
1 2 3 | .... . lineTo ( e . localX , e . localY ) ; .. erase_shape Grafiken lineTo (and. localX und localY.); . draw ( erase_shape , null , null , "erase" ) ; bmp bitmapData draw (erase_shape, null, null, "löschen")..; |
Malen Sie auf eine Anwendung in Flash CS3 erstellen
Wie in erläutert Flash Actionscript Contest: Lösch-Funktion kann man nicht "löschen" einen bestimmten Bereich eines Sprite, MovieClip oder Form, auf denen Linien oder Rechtecke gezeichnet mit den Grafik-Cursor wurden. Es gibt in der Tat, die einzige Methode clear() , hat jedoch keine Auswirkungen auf die gesamte Fläche des Objekts. Die Lösung für dieses Problem liegt in der Möglichkeit der Verwendung der Bitmap-und BitmapData-Objekte. Wie wir sehen werden wir direkt zugreifen und diese manipulieren Bitmap-Daten, um "Löschen" Schläge mit einem echten Instrument "Radiergummi".
Zwei unterschiedliche Methoden, um das "Tor" zu erzielen. per esempio. Die erste "draw" (Löschen) von Daten direkt in das BitmapData, mit der Methode fillRect() - können auch verwendet werden setPixel() zum Beispiel. Die zweite Methode, die ich bevorzuge, verwendet die Methoden von Fusionen (blendMode).
Zunächst einmal wollen wir sehen, welche Art von Organisation minimal ist notwendig, um eine einfache Flash-Painter zu erreichen. Das Schema unten dargestellten gilt sowohl für die Vorschläge der "Tor":

Ich habe drei Schichten: die erste, MovieClip oder Sprite, Hintergrund und die Arbeit der Event-Handler (MouseDown, MouseMove und MouseUp). Die zweite ist die Bitmap unsere Schichten, eine, die tatsächlich gezogen werden Grafiken angewendet werden und auf denen das "Tor". , ecc…). Der dritte und letzte Schicht, die Form, geht es um zwei Fragen: die erste ist, dass er direkt die Funktionen der Grafik-Cursor (wie vorgesehen ermöglicht lineStyle , drawRect() , etc ...). Es steigert auch die Leistung während des Tracking-Chart, wie unten im Detail erläutert.






Neueste Kommentare
Robert : Ich rispsoto Ihre Fragen gerne. Die Idee ist wirklich toll. Ich bin für eine Lösung suchen ...
Sting : @ Darius - Sie können ein Beispiel finden Sie hier: http://www.fight4fun.it/ Klick auf: MAPS Ich hoffe, ...
vik : Giustappunto Ich bin an einem Projekt arbeiten und der Kunde hat mich gebeten, alle Nachrichten (die CPT) in Show ...
Giovambattista Fazioli : @ paso: absolut. Einfach Identifizierung des Feldes [cci] Eingang [/ cci] Sie wollen ...
paso : Hallo, ich möchte eine Service-Anfrage, können Sie die datepicker mit cform7 ich spiegp gut ich kann zu implementieren ...