![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 145
|
К примеру есть графический редактор. В функцию рисования передаются параметры: толщина, альфа, цвет и собственно координаты х, у. Задача: осуществить откат действий. Есть такой вариант: пишем класс, который состоит массива цветов отрезков, массив прозрачностей, массив цветов и по 2 массива координат для каждой кривой. Вопрос в том, что это несколько не рационально в плане использования памяти. Есть ли какое либо другое более рациональное решение? свои наработки аттачить не буду, но рисование и отправка основаны на тех же принципах, что и тут http://ink.envisionext.com/swf2png/p...CS3_update.zip
з.ы. он таки отправляет на сервер пикчу ![]() |
|
|||||
|
можно для каждой "загогули" создавать новый объект и ссылку писать в массив и соответственно при отмене действия брать последний элемент массива и удалять его. Вот как-то так.
__________________
Работаю |
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
Фотошоп разбивает изображение на мелкие кусочки и хранит разницу между ними. Сделал мазок - скопировалась пара кусочков. Наложил блюр везде - скопировался весь экран.
|
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
Вопрос в догонку - а как в смысле оптимальности будет хранить bitmapData картинки после каждого ее изменения? Т. е я нарисовал линию, скопировал, картинку в битмапДата и положил в первый элемент массива, нарисовал круг, скопировал в битмапДата и положил во второй элемент. При отменах я только извлекаю по порядку прежние битмапы. Как это будет в смысле пожирания ресурсов?
|
|
|||||
|
как мне думается - надо хранить не объекты а ссылки на них. Точнее сказать не могу - сталкивался только в теории.
__________________
Работаю |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 36
|
Цитата:
Это очень не оптимальное решение. Можно по клику(т.е. началу рисования) создавать спрайт, класть его поверх предыдущего и рисовать в нем , а ctrl+z - просто удаление спрайтов |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
2ign, у меня РАСТРОВЫЙ редактор, т.е. хранить спрайт в любом случае будет растр. Насчет оптимизации я согласен, но и хранить каждый раз полноразмерный растр не имеет смысла. Если я к примеру применил фильтр, достаточно запомнить параметры фильтра, нарисовал кружок, достаточно замомнить параметры фигуры. Полностью растр запоминать придется только при рисовании кистью, но и то можно попытаться запомнить координаты движения кисти и... В общем, универсального решения не существует
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 36
|
Цитата:
А про РАСТР я тебя с трудом понимаю =) Ты собираешь видоизменять сам объект BitmapData? Если так, - то достаточно хранить лишь области это битмапДаты |
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
> но и хранить каждый раз полноразмерный растр не имеет смысла
Я для кого про фотошоп писал? |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|