Bitmap ve BitmapData sınıfları

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Bitmap sınıflarıyla çalışmaya yarayan ana ActionScript 3.0 sınıfları ekranda bitmap görüntüleri görüntülemek için kullanılan Bitmap sınıfı ve bir bitmap'in ham görüntü verisine erişmek ve değiştirmek için kullanılan BitmapData sınıfıdır.

Bitmap sınıfını anlama

DisplayObject sınıfının bir alt sınıfı olan Bitmap sınıfı bitmap görüntüleri görüntülemek için kullanılan ana ActionScript 3.0 sınıfıdır. Görüntüler flash.display.Loader sınıfı tarafından yüklenmiş veya Bitmap() yapıcısını kullanarak dinamik olarak oluşturulmuş olabilir. Harici bir kaynaktan görüntü yüklerken, bir Bitmap nesnesi sadece GIF, JPEG veya PNG biçimindeki görüntüleri kullanabilir. Bitmap örneği oluşturulduktan sonra, Sahne alanında oluşturulması gereken bir BitmapData nesnesi için bir sarıcı olarak düşünülebilir Bir Bitmap örneği aynı zamanda bir görüntüleme nesnesi olduğundan, görüntüleme nesnelerinin özelliklerinin ve işlevselliklerinin tümü bir Bitmap örneğini düzenlemek için de kullanılabilir. Görüntüleme nesneleri ile çalışma hakkında daha fazla bilgi için Görüntü programlama bölümünü inceleyin.

Piksel yapışması ve düzgünleştirme

Tüm görüntüleme nesnelerinde ortak olan işlevselliğe ek olarak, Bitmap sınıfı, bitmap görüntülere has bazı ek özellikler sunar.

Bitmap sınıfının pixelSnapping özelliği bir Bitmap nesnesinin ona en yakın piksele yapışıp yapışmadığını belirler. Bu özellik PixelSnapping sınıfında tanımlanmış olan ALWAYS , AUTO veya NEVER sabitini kabul eder.

Piksel yapışması uygulama için sözdizimi şu şekildedir:

myBitmap.pixelSnapping = PixelSnapping.ALWAYS;

Genelde, bitmap görüntüler ölçeklendiğinde bulanıklaşır ve deforme olur. Bu deformasyonu azaltmak için BitmapData sınıfının smoothing özelliğini kullanın. Bu Boolean özelliğine true değeri verildiği zaman bir görüntü ölçeklendiğinde pikselleri düzgünleştirir veya kenarlarını yumuşatır. Bu da görüntünün daha net ve daha doğal görünmesini sağlar.

BitmapData sınıfını anlama

flash.display paketi içindeki BitmapData sınıfı yüklenen veya dinamik olarak oluşturulan bir bitmap görüntüsü içerisindeki piksellerin fotografik anlık görüntüsüne benzetilebilir. Bu anlık görüntü, nesne içindeki piksel verilerinin dizisi ile ifade edilir. BitmapData sınıfı ayrıca piksel verisi oluşturma ve düzenleme için yardımcı olan bir dizi dahili yöntem içerir.

Bir BitmapData nesnesi oluşturmak için aşağıdaki kodu kullanın:

var myBitmap:BitmapData = new BitmapData(width:Number, height:Number, transparent:Boolean, fillColor:uinit);

Width ve height parametreleri bitmap'in boyutunu belirler. AIR 3 ve Flash Player 11'den başlamak üzere, BitmapData nesnesine yönelik boyut sınırları kaldırıldı. Maksimum bitmap boyutu işletim sistemine bağlıdır.

AIR 1.5 ve Flash Player 10'da, bir BitmapData nesnesi için maksimum boyut genişlikte ve yükseklikte 8.191 pikseldir ve toplam piksel sayısı 16.777.215'i geçemez. (Bu nedenle, bir BitmapData nesnesi 8.191 piksel genişliğindeyse en fazla 2.048 piksel yüksekliğinde olabilir.) Flash Player 9 ve önceki sürümleri ile AIR 1.1 ve önceki sürümlerinde, sınırlama yükseklikte 2.880 piksel ve genişlikte 2.880 pikseldir.

transparent parametresi, bitmap verisinin bir alfa kanalı içerip ( true ) içermeyeceğini ( false ) belirler. fillColor parametresi arka plan rengini ve saydamlık değerini ( true değeri verilmişse) belirleyen 32-bit renk değeridir. Aşağıdaki örnek yüzde 50 oranında saydam turuncu arka plana sahip bir BitmapData nesnesi oluşturur:

var myBitmap:BitmapData = new BitmapData(150, 150, true, 0x80FF3300);

Yeni oluşturulan bir BitmapData nesnesini ekranda işlemek için, bir Bitmap örneğine atayın veya sarın. Bunu yapmak için, BitmapData nesnesini Bitmap nesnesinin yapıcısının bir parametresi olarak iletebilir veya varolan bir Bitmap örneğinin bitmapData özelliğine atayabilirsiniz. Ayrıca görüntüleme nesnesi kabının Bitmap örneği içeren addChild() veya addChildAt() yöntemlerini çağırarak görüntüleme listesine Bitmap örneğini de eklemeniz gerekir. Görüntüleme listesi ile çalışma hakkında daha fazla bilgi için, Görüntüleme listesine görüntüleme nesneleri ekleme bölümünü inceleyin.

Aşağıdaki örnek kırmızı dolgulu bir BitmapData nesnesi oluşturur ve bir Bitmap örneği içerisinde görüntüler.

var myBitmapDataObject:BitmapData = new BitmapData(150, 150, false, 0xFF0000); 
var myImage:Bitmap = new Bitmap(myBitmapDataObject); 
addChild(myImage);