![]() |
|
||||||||||
|
|||||
|
Возможно я опять туплю, но этот пример поставил меня в ступор, поэтому и пишу сюда. Я уже много раз пользовался фильтрами, но понять почему не работает этот код не могу. Задача - загрузить цветную картинку (грузится локально и флешка скомпилирована для локального доступа к файлам), применить к ней фильтр и сделать черно-белой фоновой картинкой. Вот код класса:
package { import flash.display.*; import flash.events.*; import flash.net.URLRequest; import flash.geom.*; import flash.filters.ColorMatrixFilter; import fl.motion.AdjustColor; public class Main4 extends MovieClip { var _loader:Loader; var _path:String = "0101color.png"; var loadedImage:DisplayObject; var fon:Bitmap; var item:Sprite; var ajustItemColor:AdjustColor; var _mask:Sprite; public function Main4() { loadPic (); } public function loadPic ():void { _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadPic); //_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); _loader.load(new URLRequest(_path)); } private function onLoadPic (e:Event):void { loadedImage = _loader.content; createFon (); } private function createFon ():void { var bmpData:BitmapData = new BitmapData (loadedImage.width, loadedImage.height); bmpData.draw (loadedImage); var fon:Bitmap = new Bitmap (bmpData); ajustItemColor = new AdjustColor (); ajustItemColor.saturation = -100; ajustItemColor.brightness = 0; var colorMatrix:ColorMatrixFilter = new ColorMatrixFilter(ajustItemColor.CalculateFinalFlatArray()); var fonRect:Rectangle = new Rectangle (0, 0, loadedImage.width, loadedImage.height); fon.bitmapData.applyFilter (fon.bitmapData, fonRect, new Point (), colorMatrix); // фильтр не работает //addChild (fon); var bg:Sprite = new Sprite (); bg.filters = [colorMatrix]; //и этот фильтр не работает addChild (bg); bg.addChild(fon); } } } |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
5 мегабайт? О__о
Каковы размеры картинки?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Jun 2012
Сообщений: 70
|
Используйте вот этот класс: http://gskinner.com/blog/archives/20...atrix_cla.html
вместо AdjustColor.
__________________
Блог: http://devizgl.blogspot.com/ |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:37. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|