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

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

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

Регистрация: 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.

Старый 20.06.2010, 00:52
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Да, можно.
Есть метод setPixels, только принимает ByteArray, а не обычный массив
(при необходимости сконвертируете):
http://help.adobe.com/ru_RU/AS3LCR/F...etPixels%28%29

Старый 20.06.2010, 01:36
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 3  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Цитата:
Есть метод setPixels
- его я видел.
Цитата:
только принимает ByteArray
- вот здесь загвоздка, честно не знаю что это. Т.е. не знаю как туда записывать значения.

Старый 20.06.2010, 01:42
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 4  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Первое что приходит вголову - в цикле читать с массива и писать в ByeArray методом writeInt.
Может есть метод и лучше, к сожалению его не знаю

Цель какая кстати?
Запихивать картинки в виде текста?
Наверняка можно что получше можно придумать.
(Всетки само по себе чтение из массива сравнимо по скорости с операцией добавления пиксела, даже не уверен что быстрее,
т.е. смысла особого нет отказываться от setPixel)


Последний раз редактировалось expl; 20.06.2010 в 02:14.
Старый 20.06.2010, 02:01
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 5  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Смысл рисовать мелкие картинки для классов, не теня за этими классами других файлов(файлов картинок) - думаю понятно что имею в виду. Чисто для оформления.

Старый 20.06.2010, 02:21
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 6  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Используй setPixel и не парься, я щас проверил - засовывание в ByteArray интов занимает столько же сколько и setPixel, а их еще нужно setPixels-ом прогнать

Главное, как только положили bitmapData в Bitmap - не забывать делать lock/unlok при перерисовке

По крайней мере картинка 1000x1000 заполняется за 300 мс на моей НЕ новой машине,
Текстом просто сложно нарисовать такую здоровую картинку, которая создаст проблему для процессора


Последний раз редактировалось expl; 20.06.2010 в 02:32.
Старый 20.06.2010, 02:44
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 7  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Цитата:
Используй setPixel и не парься
- да, так и решил на будущее.
А сейчас в моем случае вообще оказалось можно получить нужный мне результат, просто TextField превратив в Bitmap.

Старый 20.06.2010, 10:28
Dima_DPE вне форума Посмотреть профиль Отправить личное сообщение для Dima_DPE Найти все сообщения от Dima_DPE
  № 8  
Ответить с цитированием
Dima_DPE

блогер
Регистрация: Aug 2005
Сообщений: 178
Записей в блоге: 4
Посмотри как тут сделали http://code.google.com/p/away3d/sour.../stats/Logo.as может как раз подойдет.

Старый 20.06.2010, 14:15
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 9  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Цитата:
может как раз подойдет.
- спасибо, как раз подошло.)

Старый 20.06.2010, 14:55
Dima_DPE вне форума Посмотреть профиль Отправить личное сообщение для Dima_DPE Найти все сообщения от Dima_DPE
  № 10  
Ответить с цитированием
Dima_DPE

блогер
Регистрация: Aug 2005
Сообщений: 178
Записей в блоге: 4
Ну вот и отлично, а при большем желании можно написать алгоритм который из обычного изображения делал бы массив именно такого вида как в Logo.as.

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

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

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


 


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


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