Paket | flash.filters |
Sınıf | public class ShaderFilter |
Miras Alma | ShaderFilter BitmapFilter Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Yeni bir filtre oluşturmak için new ShaderFilter()
yapıcısını kullanın. Filtrelerin kullanımı, filtreyi uyguladığınız nesneye bağlıdır.
- Filtreleri film kliplerine, metin alanlarına, düğmelere ve videoya uygulamak için
filters
özelliğini kullanın (DisplayObject öğesinden miras alınan). Nesneninfilters
özelliğini ayarladığınızda nesne değiştirilmez vefilters
özelliğini temizleyerek filtreyi kaldırabilirsiniz. - BitmapData nesnelerine filtre uygulamak için
BitmapData.applyFilter()
yöntemini kullanın. Bir BitmapData nesnesi üzerindeapplyFilter()
kullanıldığında kaynak BitmapData nesnesi ve filtre nesnesi alınır ve sonuç olarak ortaya filtrelenmiş bir görüntü çıkar.
Bir görüntüleme nesnesine filtre uygularsanız, nesnenin cacheAsBitmap
özelliğinin değeri true olarak ayarlanır. Tüm filtreleri kaldırırsanız, orijinal cacheAsBitmap
değeri geri yüklenir.
Bu filtre, Sahne Alanı ölçeklemesini destekler. Ancak, genel ölçeklemeyi, döndürmeyi ve eğimi içermez. Nesnenin kendisi ölçeklenirse (scaleX
ve scaleY
özellikleri %100 olarak ayarlanmazsa), filtre ölçeklenmez. Yalnızca kullanıcı sahne alanına yakınlaştırma yaptığında ölçeklenir.
Elde edilen görüntü maksimum boyutları aşıyorsa, filtre uygulanmaz. AIR 1.5 ve Flash Player 10'da, maksimum boyut genişlik ve yükseklikte 8,191 pikseldir ve toplam piksel sayısı 16,777,215'yı geçemez. (Bu nedenle, bir görüntü 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. Örneğin, bir filtre uygulanmışken büyük bir film klibine yakınlaştırma yaptığınızda, elde edilen görüntü maksimum boyutları aşarsa filtre kapatılır.
Filtreyle kullanılacak Shader örneğini belirtmek için, ShaderFilter()
yapıcısına argüman olarak Shader örneğini iletin veya bu örneği shader
özelliğinin değeri olarak ayarlayın.
Gölgelendirici çıktısının filtrelenen nesnenin sınırları ötesine genişlemesini sağlamak için leftExtension
, rightExtension
, topExtension
ve bottomExtension
özelliklerini kullanın.
İlgili API Öğeleri
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
flash.display.Shader
Özellik | Tanımlayan: | ||
---|---|---|---|
bottomExtension : int
Hedef nesnenin alt tarafındaki piksellerde büyüme. | ShaderFilter | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
leftExtension : int
Hedef nesnenin sol tarafındaki piksellerde büyüme. | ShaderFilter | ||
rightExtension : int
Hedef nesnenin sağ tarafındaki piksellerde büyüme. | ShaderFilter | ||
shader : Shader
Bu filtre için kullanılacak gölgelendirici. | ShaderFilter | ||
topExtension : int
Hedef nesnenin üst tarafındaki piksellerde büyüme. | ShaderFilter |
Yöntem | Tanımlayan: | ||
---|---|---|---|
ShaderFilter(shader:Shader = null)
Yeni bir gölgelendirici filtresi oluşturur. | ShaderFilter | ||
Orijinal BitmapFilter nesnesinin tam kopyası olan bir BitmapFilter nesnesi döndürür. | BitmapFilter | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
bottomExtension | özellik |
bottomExtension:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Hedef nesnenin alt tarafındaki piksellerde büyüme.
Büyüme, çalıştırma sırasında gölgelendiriciye iletilen hedef nesnenin sınırları ötesindeki alandır. Yürütme zamanında Flash Player veya AIR, film klibinin normal sınırlarını hesaplar ve leftExtension
, rightExtension
, topExtension
ve bottomExtension
değerleri temelinde sınırları genişletir.
Varsayılan değer şudur 0.
Uygulama
public function get bottomExtension():int
public function set bottomExtension(value:int):void
leftExtension | özellik |
leftExtension:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Hedef nesnenin sol tarafındaki piksellerde büyüme.
Büyüme, çalıştırma sırasında gölgelendiriciye iletilen hedef nesnenin sınırları ötesindeki alandır. Yürütme zamanında Flash Player veya AIR, film klibinin normal sınırlarını hesaplar ve leftExtension
, rightExtension
, topExtension
ve bottomExtension
değerleri temelinde sınırları genişletir.
Varsayılan değer şudur 0.
Uygulama
public function get leftExtension():int
public function set leftExtension(value:int):void
rightExtension | özellik |
rightExtension:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Hedef nesnenin sağ tarafındaki piksellerde büyüme.
Büyüme, çalıştırma sırasında gölgelendiriciye iletilen hedef nesnenin sınırları ötesindeki alandır. Yürütme zamanında Flash Player veya AIR, film klibinin normal sınırlarını hesaplar ve leftExtension
, rightExtension
, topExtension
ve bottomExtension
değerleri temelinde sınırları genişletir.
Varsayılan değer şudur 0.
Uygulama
public function get rightExtension():int
public function set rightExtension(value:int):void
shader | özellik |
shader:Shader
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bu filtre için kullanılacak gölgelendirici.
shader
özelliğine atanan Shader öğesinin en az bir image4
girdisi belirtmesi gerekir. İlişkilendirilmiş ShaderInput nesnesinin input
özelliği kullanılarak girdinin kodda belirtilmesi gerekmez. Bunun yerine, filtrenin uygulandığı nesne otomatik olarak birinci girdi olarak kullanılır (index
0 ile girdi). Filtre olarak kullanılan bir gölgelendirici birden çok girdi belirtebilir, bu durumda ShaderInput örneğinin input
özelliği ayarlanarak ek girdilerin belirtilmesi gerekir.
Bu özelliğe bir Shader örneği atadığınızda, gölgelendirici dahili olarak kopyalanır ve filtre işlemi orijinal gölgelendiricinin başvurusunu değil, bu dahili kopyayı kullanır. Gölgelendiriciye yapılan değişiklikler (örn. parametre değerini, girdiyi veya bayt kodunu değiştirme) filtre için kullanılan kopyalanmış gölgelendiriciye uygulanmaz. Gölgelendirici değişiklikleri filtre çıktısında dikkate alınacak şekilde ayar yapmak için Shader örneğini shader
özelliğine yeniden atamanız gerekir. Tüm filtrelerde olduğu gibi, filtre değişikliklerini uygulamak için ShaderFilter örneğini görüntüleme nesnesinin filters
özelliğine yeniden atamalısınız.
Uygulama
public function get shader():Shader
public function set shader(value:Shader):void
topExtension | özellik |
topExtension:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Hedef nesnenin üst tarafındaki piksellerde büyüme.
Büyüme, çalıştırma sırasında gölgelendiriciye iletilen hedef nesnenin sınırları ötesindeki alandır. Yürütme zamanında Flash Player veya AIR, film klibinin normal sınırlarını hesaplar ve leftExtension
, rightExtension
, topExtension
ve bottomExtension
değerleri temelinde sınırları genişletir.
Varsayılan değer şudur 0.
Uygulama
public function get topExtension():int
public function set topExtension(value:int):void
ShaderFilter | () | Yapıcı |
public function ShaderFilter(shader:Shader = null)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Yeni bir gölgelendirici filtresi oluşturur.
Parametrelershader:Shader (default = null ) — Bu filtre için kullanılacak Shader öğesini belirtir. Gölgelendiricinin uyması gereken ayrıntılar ve sınırlamalar için, shader özelliğinin açıklamasına bakın.
|
İlgili API Öğeleri
shader
özelliği olarak bunu kullanır. Kod, Sprite örneğine bir daire çizer ve bunu sahne alanına ekler. Gölgelendirici yüklendiğinde, gölgelendirici filtresi o Sprite öğesine uygulanır.
Bu örneğin, uygulamanın çıktı diziniyle aynı dizinde "gradient.pbj" adında bir gölgelendirici bayt kodu dosyası bulunduğunu varsaydığını unutmayın.
// // Source code for the shader: // <languageVersion : 1.0;> kernel RedGradientFilter < namespace: "Adobe::Example"; vendor: "Adobe examples"; version: 1; description: "Applies a gradient across the red channel of the input image."; > { input image4 src; output pixel4 dst; parameter float width < description: "The width of the image to which the shader is applied."; minValue: 0.0; >; void evaluatePixel() { pixel4 temp = sampleNearest(src, outCoord()); temp.r = 1.0 - (outCoord().x * (1.0 / width)); dst = temp; } } // // ActionScript source code: // package { import flash.display.Shader; import flash.display.Sprite; import flash.events.Event; import flash.filters.ShaderFilter; import flash.net.URLLoader; import flash.net.URLLoaderDataFormat; import flash.net.URLRequest; public class ShaderFilterExample extends Sprite { private var loader:URLLoader; private var s:Sprite; public function ShaderFilterExample() { loader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, loadCompleteHandler); loader.load(new URLRequest("gradient.pbj")); s = new Sprite(); s.graphics.beginFill(0x009900); s.graphics.drawCircle(100, 100, 100); addChild(s); } private function loadCompleteHandler(event:Event):void { var shader:Shader = new Shader(loader.data); shader.data.width.value = [s.width]; var gradientFilter:ShaderFilter = new ShaderFilter(shader); s.filters = [gradientFilter]; } } }
Tue Jun 12 2018, 01:09 PM Z