Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Проблем с Preview и Undo   Найти похожие ветки 

 
X-Disa   (2005-03-02 12:48) [0]

Пишу грфический редактор (движок - модифицированный Graphics 32), есть проблемка. Как лучше организовать Preview, при работе с большими изображениями все хорошо кроме тормозв этого самого preview.
Делаю так:
MainImage.PaintTo(FPanelPreview.ImagePreview.Bitmap,R);
R - область предпросмотра с сохранением пропорций, MainImage - TImgView32.

И вторая пробелма - как реализовано undo например в фотошопе - как примерно это там работает ТАК быстро?


 
dmk ©   (2005-03-02 19:39) [1]

Посмотри как у меня Preview реализовано.
http://dmk.interwave.ru/

А по поводу UNDO есть некоторые хитрости которые
с помощью Graphics32 не реализуешь.


 
X-Disa   (2005-03-03 11:22) [2]

В фотошопе наверно через filestream.
Мне хотя бы отмену изменений битмапа сделать, т.к. undo -самое узкое место.


 
Fenik   (2005-03-03 21:34) [3]

Если подумать, тут можно море всего придумать..
Например, если изменилась всего одна точка изображения, запоминаем только координаты и старый цвет = 4+4+4 = 12 байт. :)
Или, при создании примитива, запоминать только координаты, тип и свойства.
Если изменилась часть рисунка, запоминать только её.
Короче, широкий простор для фантазии. Главное внимательно и логично построить алгоритм и не хранить избыточной информации в памяти.

Пусть в памяти постоянно текущее изображение и предыдущее (или его измененная часть). При вызове отмены быстро копируешь кусок старого рисунка на текущий, выводишь на экран, тем временем, в отдельном потоке готовя очередное предыдущее изображение путем рисования примитивов и измененных частей на первоначальном.

Ну, это так, общие расплывчатые мысли. Тебе предстоит это реализовать.. :)


 
X-Disa   (2005-03-04 11:08) [4]

Попытаюсь. Пока надо доделать вставку текста и еще кое-чего обезглючить.



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.239 c
3-1116440985
Сергей2345
2005-05-18 22:29
2005.06.29
Поможет ли Delfi?


4-1114998618
n0name
2005-05-02 05:50
2005.06.29
Зачем нужен линковщик?


6-1112261539
rOOse
2005-03-31 13:32
2005.06.29
TWebBrowser


1-1118086794
Pasha L
2005-06-06 23:39
2005.06.29
openDialog


1-1117877764
Anatoly Podgoretsky
2005-06-04 13:36
2005.06.29
Занимательные наблюдения над плавающей запятой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский