![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
Здравствуйте.
У меня в клипы динамически подгружаются .jpg-картинки. На картинках изображены некие фигурки а вокруг белый фон. Нужно чтобы этого белого вокруг не было. Знаю, что картинки должны быть gif или png. Но все-таки, есть ли во флеш возможность сделать конкретный цвет (в данном случае белый) прозрачным? Имеется ввиду програмно. Типа функции imagecolortransparent в пхп. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Копай в сторону BitmapData.paletteMap, BitmapData.threshold.
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
А кто разобрался с BitmapData.threshold?
Может есть пример? Помогите разобраться, плз. import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
myBitmapData.fillRect(new Rectangle(0, 0, 50, 80), 0x00FF0000);
mc.onPress = function() {
myBitmapData.threshold(myBitmapData, new Rectangle(0, 0, 100, 40), new Point(0, 0), "==", 0x00CCCCCC, 0x000000FF, 0x00FF0000, false);
}
Предпоследний параметр-это маска. Какова ее роль? Ладно. В хелпе пишет mask:Number [optional] - The mask to use to isolate a color component (маска используется чтобы изолировать цветовой компонент). Еще есть такое by using {operation: "<", mask: 0xFF000000, threshold: 0x7f000000, color: 0x00000000}, you can set all destination pixels to be fully transparent when the source image pixel's alpha is less than 0x7F. В переводе приблизительно используя {действие: "<", маску: 0xFF000000, порог: 0x7f000000, цвет: 0x00000000}, Вы можете установить все нужные пикселы полностью прозрачными, когда альфа пикселей исходного изображения меньше чем 0x7F. Делаю все по аналогии с целью заменить белый цвет прозрачным. Вместо прозрачного получается только черный. То, что я ставлю для альфа-канала - игнорируется. См. smena_alpha.rar Привет еще раз. Теперь уже не игнорирует, но все-равно не получается то, что нужно. Когда параметр "цвет" ставлю 0*FF000000 (with_img.rar ), т.е. непрозрачный, белый цвет меняет на черный, а когда 0*00000000 - белый так и остается белым, прозрачным не становится. Работает правильно только в таком варианте: import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
var myBitmapData:BitmapData = new BitmapData(100, 100, true, 0xFFCCCCCC);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
mc.onPress = function() {
myBitmapData.threshold(myBitmapData, new Rectangle(0, 0, 100, 100), new Point(0, 0), "==", 0xFFCCCCCC, 0x00000000, 0x11111111);
}
Последний раз редактировалось JaLav; 07.03.2007 в 15:38. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|