![]() |
|
|
|||||
Регистрация: Mar 2010
Сообщений: 223
|
![]() Можно ли рисовать фигуры по пикселям, используя какой-нибудь массив?
Т.е. допустим есть массив: [ 0,0,0,0,0 0,1,1,1,0 0,1,0,1,0 0,1,1,1,0 0,0,0,0,0 ]. Где "1" - это пиксель, "0"-прозрачная область. Можно ли его как-нибудь загнать в BitmapData экземпляр? Короче рисовать мелкие растры не используя огромное кол-во setPixel. |
|
|||||
Да, можно.
Есть метод setPixels, только принимает ByteArray, а не обычный массив (при необходимости сконвертируете): http://help.adobe.com/ru_RU/AS3LCR/F...etPixels%28%29 |
|
|||||
Регистрация: Mar 2010
Сообщений: 223
|
Цитата:
Цитата:
|
|
|||||
Первое что приходит вголову - в цикле читать с массива и писать в ByeArray методом writeInt.
Может есть метод и лучше, к сожалению его не знаю Цель какая кстати? Запихивать картинки в виде текста? Наверняка можно что получше можно придумать. (Всетки само по себе чтение из массива сравнимо по скорости с операцией добавления пиксела, т.е. смысла особого нет отказываться от setPixel) Последний раз редактировалось expl; 20.06.2010 в 02:14. |
|
|||||
Регистрация: Mar 2010
Сообщений: 223
|
Смысл рисовать мелкие картинки
![]() |
|
|||||
Используй setPixel и не парься, я щас проверил - засовывание в ByteArray интов занимает столько же сколько и setPixel, а их еще нужно setPixels-ом прогнать
Главное, как только положили bitmapData в Bitmap - не забывать делать lock/unlok при перерисовке По крайней мере картинка 1000x1000 заполняется за 300 мс на моей НЕ новой машине, Текстом просто сложно нарисовать такую здоровую картинку, которая создаст проблему для процессора ![]() Последний раз редактировалось expl; 20.06.2010 в 02:32. |
|
|||||
Регистрация: Mar 2010
Сообщений: 223
|
Цитата:
А сейчас в моем случае вообще оказалось можно получить нужный мне результат, просто TextField превратив в Bitmap. |
|
|||||
Посмотри как тут сделали http://code.google.com/p/away3d/sour.../stats/Logo.as может как раз подойдет.
|
|
|||||
Регистрация: Mar 2010
Сообщений: 223
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:13. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|