![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Всем здраствуйте.
Не могу обойти следующие грабли: нарисовал курсор в фотошопе (ч/б, даже еще хуже - 1 бит). из него сделал маску - инвертировал, чуток подправил и хочу использовать во флеше. Когда курсор и маску распологаю в слоях (в качестве image), делаю mask, ничего не происходит. Маска точно состоит только из белого и черного... Нашел во флеше (в разделе с описанием как сделать маску): Place a filled shape, text, or an instance of a symbol on the mask layer. Flash ignores bitmaps, gradients, transparency, colors, and line styles in a mask layer. Any filled area is completely transparent in the mask; any nonfilled area is opaque. Неужели игнорирует битмапы???? Подскажите плиз как это подружить, наверно есть простая AS-функция маскирующая один имадж другим по яркости (тривиальная задача ведь)... Спасибо. Последний раз редактировалось Denis Davidov; 17.05.2008 в 02:52. |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 207
|
Не, во флеше маски определяются формой объекта. В данном случае для картинки (прозрачность не важна) форма - квадрат. Варианта по большому счету три:
1. Нарисовать маску во флеше. 2. (вариация первого) Трасировать картинку. 3. (Хардкорный) BitmapData и иже с ним. Проще и лучше воспользоваться 1ым вариантом. P.S. Какое отношение эта тема имеет к AS??? |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Спасибо.
А можно пожалуйста наброски AS для второго варианта? Т.е. если я буду пробегаться по картинке, как к ней обращаться как к массиву пикселей? должно быть что-то типа mybitmap.GetColor(x,y)? и Size(mybitmap)? И продолжении - как это рисовать? Опять же что-то типа movieclip.DrawPixel(x,y,color)? Спасибо за помощь... з.ы. Я думал есть какая-нибудь функция и т.д. чтобы это решить... видимо что-то типо плясок с Bitmap Data |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 207
|
2ой вариант без AS. Это Modify->Bitmap->Trace Bitmap.
Ну еже ли уж хочешь по трудному пути, то лови пример: import flash.display.BitmapData;
B1 = new BitmapData(MASK._width, MASK._height, true, 0x00FFFFFF);
MASK.attachBitmap(B1, 0);
B1.draw(MASK);
B2 = new BitmapData(MASKING._width, MASKING._height, true, 0x00FFFFFF);
MASKING.attachBitmap(B2, 0);
B2.draw(MASKING);
MASKING._visible = false;
for (var i = 0; i < MASK._width; i++)
{
for (var j = 0; j < MASK._height; j++)
{
if (B1.getPixel32(i, j) != 0) B1.setPixel32(i, j, B2.getPixel32(i + MASKING._x, j + MASKING._y));
}
}
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 89
|
Спасибо за код, понял что Modify->Bitmap->Trace Bitmap намного проще
)) только почему-то не могу его применить к объектам в библиотеке, хм... Если не разберусь, то будет программировать AS.... p-s- разобрался, работает, все ок ![]() Последний раз редактировалось Denis Davidov; 17.05.2008 в 11:45. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:05. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|