Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.07.2012, 18:17
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 1  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
По умолчанию Не работает фильтр

Возможно я опять туплю, но этот пример поставил меня в ступор, поэтому и пишу сюда. Я уже много раз пользовался фильтрами, но понять почему не работает этот код не могу. Задача - загрузить цветную картинку (грузится локально и флешка скомпилирована для локального доступа к файлам), применить к ней фильтр и сделать черно-белой фоновой картинкой. Вот код класса:
Код AS3:
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);
 
 
		}
 
	}
 
}
Никаких ошибок не выкидывается, картинка просто появляется цветной. Исходник прилагаю.
Вложения
Тип файла: rar Experiment2.rar (5.67 Мб, 41 просмотров)

Старый 17.07.2012, 18:26
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
5 мегабайт? О__о
Каковы размеры картинки?
__________________
Reality.getBounds(this);

Старый 17.07.2012, 18:53
vizgl вне форума Посмотреть профиль Отправить личное сообщение для vizgl Найти все сообщения от vizgl
  № 3  
Ответить с цитированием
vizgl
 
Аватар для vizgl

Регистрация: Jun 2012
Сообщений: 70
Используйте вот этот класс: http://gskinner.com/blog/archives/20...atrix_cla.html
вместо AdjustColor.
__________________
Блог: http://devizgl.blogspot.com/

Старый 17.07.2012, 19:11
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 4  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Сорри, во fla-файл затесалась лишняя графика, убрал теперь размер один мегабайт. Класс скинера мне попадался, но с ним не работал, попробую
Вложения
Тип файла: rar Experiment.rar (1.07 Мб, 30 просмотров)

Старый 17.07.2012, 19:24
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 5  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Помогло, спасибо! Странно, что не так с AdjustColor? Я его уже использовал и все было нормально

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.