flash etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
flash etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Piksel piksel performans

1920x1440 boyutunda bir resim dosyasını boş bir BitmapData objesine kopyalama sırasında harcanan ortalama zaman değerleri:

draw() : 4 ms
setPixels() : 63 ms
setVector() : 112 ms

source:
private function runTest():void {
    var sampleBitmap:Bitmap = new BitmapTest();
    
    var bmd:BitmapData = new BitmapData(sampleBitmap.width, sampleBitmap.height, false, 0x0);
    var copyCat:Bitmap = new Bitmap(bmd);
    addChild(copyCat);
    
    var timer:uint = getTimer();
    var bits:Vector. = sampleBitmap.bitmapData.getVector(sampleBitmap.bitmapData.rect);
    bmd.setVector(bmd.rect,bits);
    trace("setVector: " + (timer-getTimer()) + " ms");
    
    timer = getTimer();
    bmd.draw(sampleBitmap);
    trace("draw: " + (timer-getTimer()) + " ms");
    
    timer = getTimer();
    var bytes:ByteArray = sampleBitmap.bitmapData.getPixels(sampleBitmap.bitmapData.rect);
    bytes.position = 0;
    bmd.setPixels(bmd.rect,bytes);
    trace("setPixels: " + (timer-getTimer()) + " ms");
}

Multiple File Uploader

Progress Bar kullanan bir uploader yazmıştım zamanında. Şimdi de önemli bir işlem için, aynı anda birçok dosyayı istenilen sınır sayıda ve aynı anda progress bar kullanarak upload edebilen bir flash uygulaması lazım oldu. Ben de yazayım bari dedim.

Buyrun tüm kayn(m)ak kodları :

MultipleFileUploader.zip

BatchCopier: FileCopier sınıfı ile toplu dosya işlemleri

Adobe Air ile kopyalama işlemlerinde sadece "complete" eventi yetersiz kalmıştı. Bunun üzerine bu işlevi, yazdığım FileCopier sınıfı ile zengin bir event sistemiyle, byte bazında gerçekleştirmiştim. Şimdi de bu işlemi bulk (toplu) olarak yapan sınıfı takdim edeyim:

Download : BatchCopier.zip

BatchCopier ile;
- o an ki toplam progress'i (0-1 arasi) görebilir,
- geçerli progress'i (0-1 arasi) görebilir,
- geçerli dosya ismini alabilirsiniz.

Kullanımı:

import com.onderezdi.utils.FileCopier;
import com.onderezdi.utils.BatchCopier;


var bc:BatchCopier = new BatchCopier();
bc.destination = targetDir.nativePath + "/videos";
for(var i=0; i<selectedVideosOfFirm.length; i++){
var f:File = new File(File.applicationDirectory.nativePath + "/videos/" + selectedVideosOfFirm[i].file);
bc.addItem(f);
}
bc.addEventListener("nextfile", onNext); //Sonraki yukleme islemi basladiginda cast eder
bc.addEventListener("progress", onProgress); //her yukleme evresinde cast eder
bc.addEventListener("complete", copyImages); //tum yukleme bittiginde cast eder
bc.start();

Actionscript 3'te TextField width problemi

TextField objesinin autoSize özelliği kullanıldığında width özelliği işlevini yitiriyor ve yanlış piksel sayısı döndürüyor. Gerçek ölçüyü alabilmek için ise TextField.textWidth özelliğini kullanmamız gerekmekte olduğunu tam kafayı kıracakken buldum. Umarım işinize yarar.
top