Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Удаление фона картинки (http://www.flasher.ru/forum/showthread.php?t=114156)

oCa 20.07.2008 14:00

Удаление фона картинки
 
Доброго времени суток!
Вопрос следующий:
загружается картинка (jpg), скажем с однотонным белым фоном. Можно ли (и тогда как) отобразить её без этого фона? Само собой программно. Словом сделать , скажем, белый цвет прозрачным что ли или не отображать его вовсе. Предполагаю помогут в этом фильтры. Не откажусь от примера.

flash33 20.07.2008 14:21

Вам поможет не фильтр, а метод класса BitmapData.threshold()
Код:

var bmpData = new BitmapData(width, height, true, 0);
bmpData.draw(mc);//mc - клип с изображением
var bmp = addChild(new Bitmap(bmpData));
bmpData.threshold(bmpData, new Rectangle(0, 0, width, height), new Point(0, 0), ">=", 0xFFFAFAFA, 0, 0xFFFFFFFF, false);//отсекаем цвет выше 0xFFFAFAFA

пример для as3, но threshold работает и для as2

Alex_beginner 20.07.2008 18:45

Есть еще кое, называется transparent. Это transparent указывается при создании битмапдаты. Если оно true, то transparent работает, если false, то соотвественно, нет.

oCa 20.07.2008 22:54

По-всякому перепробовал приведённый код - никак не выходит. Может я что-то не так делаю? Может есть рабочий исходник? Желательно для AS2

iNils 20.07.2008 23:19

Конечyо не выходит, это же AS3

oCa 20.07.2008 23:26

Да, для третьего работает. Просто в примере прозвучало про AS2, вот и понадеялся, что можно как-то вырулить для второго...
А есть ли решение для AS2?

iNils 20.07.2008 23:34

Конечно
Код:

var bmp = new BitmapData (width, height, true, 0);
bmp.draw (mc);
//mc - клип с изображением
bmp.threshold (bmp, new Rectangle (0, 0, width, height), new Point (0, 0), ">=", 0xFFFAFAFA, 0, 0xFFFFFFFF, false);
//отсекаем цвет выше 0xFFFAFAFA
this.attachBitmap (bmp, this.getNextHighestDepth ());


oCa 21.07.2008 07:04

Огромное спасибо!!! Всё работает!


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

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