Ich arbeite gerade an einem Flash-Spiel und ich muss wissen, wie man ein BitmapData addieren oder ein BitmapData auf dem Bildschirm zeichnen kann. Wenn ich nicht kann, als wie kann ich einem DisplayObject meine BitmapData geben?Wie kann ich ein BitmapData hinzufügen oder eine BitmapData auf dem Bildschirm zeichnen?
Antwort
BitmapData-Objekte können nicht direkt zum Bildschirm hinzugefügt werden, da sie keine Nachkommen von DisplayObject sind. Wenn Sie den Inhalt eines BitmapData-Objekts anzeigen möchten, müssen Sie eine Bitmap und die Eigenschaft bitmapData verwenden. Wenn Sie Flex verwenden, müssen Sie sicherstellen, dass Sie die Bitmap in eine Instanz von UIComponent oder einer seiner Unterklassen platzieren. Andernfalls, wenn Sie nur AS3 in Flash verwenden, wird dies Folgendes tun:
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.geom.Point;
public class BitmapDataExample extends Sprite
{
public function BitmapDataExample()
{
super();
var canvasSize:uint = 100;
var size:uint = 5;
var bd:BitmapData = new BitmapData (canvasSize, canvasSize, false, 0x000000);
var bmp:Bitmap = new Bitmap (bd);
addChild(bmp);
// everything from this point on is just drawing junk into the BitmapData object
var p:Point = new Point (0, 0);
for (var y = 0; y < canvasSize; y++)
{
p.y = y;
for (var x = 0; x < canvasSize; x++)
{
p.x = x;
if (p.x % size == p.y % size)
bd.setPixel(p.x, p.y, 0x00FF00);
}
}
}
}
}
Hier ist ein Beispiel für eine AIR-Anwendung zusammen geworfen einen Weg zu zeigen, es zu tun, vorausgesetzt, ich die Frage richtig verstanden habe:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
private function onCreationComplete():void
{
// Some sample bitmap data
var bmpd:BitmapData = new BitmapData(50, 50, false, 0xFF0000);
// Create a new bitmap, created from the data
var bmp:Bitmap = new Bitmap(bmpd);
// Wrap the bitmap in UIComponent
var uic:UIComponent = new UIComponent();
uic.addChild(bmp);
// Add your UIComponent to the display list
addChild(uic);
}
]]>
</mx:Script>
</mx:WindowedApplication>
Wesentlichen, was Sie wissen müssen, ist, dass Ihr BitmapData- muss zuerst in ein Bitmap-Objekt eingeschlossen werden und dass das resultierende Bitmap-Objekt ein DisplayObject ist, bevor es der Anzeigeliste hinzugefügt werden kann, muss es in eine UIComponent-Instanz eingebettet werden.
Das ist ein Weg, aber wieder, es hängt weitgehend davon ab, was Sie gerade tun wollen, wenn dies in Ihrem Fall nicht ganz zutrifft, zögern Sie nicht, zurück zu schreiben und ich werde mich entsprechend anpassen. Ich hoffe es hilft!
- 1. Scaleform BitmapData: Ungültige Bitmapdata
- 2. Sprite auf BitmapData ohne Padding zeichnen
- 3. NSCGImageSnapshotRep, wie erhalten BitmapData
- 4. Wie lade ich eine Bitmap-Datei in ein BitmapData-Objekt?
- 5. flex bitmapData zeichnen - wie der Satz, wo zu zeichnen
- 6. AS3 - Scale BitmapData-
- 7. Verschwommener Malereffekt mit BitmapData
- 8. Wie lösche ich einen Bereich in einem BitmapData-Objekt?
- 9. Zeichnen auf dem Bildschirm brauche ich Oberflächenansicht?
- 10. So verwenden Sie transparente BitmapData als Maske
- 11. Wie kann ich Buchstaben mit jQuery auf dem Bildschirm zeichnen
- 12. AS3: Wie man BitmapData eines farbigen Bitmap zu Schwarzweiss ändert?
- 13. Zeichnen auf ein Bild vor dem Zeichnen auf dem Bildschirm in XNA mit VB.NET
- 14. Anzeige riesiger, scrollbarer Grafiken in Flex, Teil 2: BitmapData in ein Bild?
- 15. Flash player IE7 BitmapData senden an den Server mit amfphp
- 16. Bildschirm neuzeichnen nach dem Zeichnen auf Bildschirm DC C++
- 17. auf dem Bildschirm ohne Formular zeichnen
- 18. Wie kann ich eine Route auf dem Map-Steuerelement zeichnen?
- 19. So speichern Sie BitmapData in Bitmap * .bmp-Datei oder viel schneller JPE Encoding-Methode
- 20. iOS: Erfassen von CAEmitterLayer-Partikeln auf dem Bildschirm
- 21. Wie zentriere ich ein Fenster auf dem Bildschirm in C#?
- 22. Das Anwenden des Shader-Filters auf ein BitmapData-Objekt ignoriert das übergebene Rechteck - wie wird der Shader-Filter richtig angewendet?
- 23. Warum können Sie mit Windows auf dem gesamten Bildschirm zeichnen?
- 24. Irrlicht Engine (C++) 2D-Text auf dem Bildschirm zeichnen
- 25. Bildschirm vor dem Splash hinzufügen
- 26. Linux auf dem Bildschirm unabhängig von Windows-Manager zeichnen
- 27. Text in ActionScript 3 in Form zeichnen
- 28. Transparentes Fenster (oder Zeichnen auf Bildschirm) Keine Mausaufnahme
- 29. Wie lässt sich die Größe eines BitmapData-Objekts am besten anpassen?
- 30. Wie verwende ich glutBitmapString() in C++, um Text auf dem Bildschirm zu zeichnen?