Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2014, 23:29   #1
woojin
Пользователь
 
Регистрация: 20.10.2013
Сообщений: 32
Печаль TCanvas и TCanvasSaveState

всем привет!

использую Image для рисования на канве
Image используется несколько раз, т.к. на него дорисовывается картинка
при каждом новом рисовании производится очистка
PHP код:
img.Bitmap.Canvas.BeginScene();
img.Bitmap.Canvas.Clear(claNull);
img.Bitmap.Canvas.EndScene
(зачем так сделано это вопрос третий)

собственно, почитав доки, я так понял можно сохранить данные канвы
PHP код:
pCanvasState := img.Canvas.SaveState
потом очистить канву, что то нарисовать на ней и восстановить предыдущую
PHP код:
img.Canvas.RestoreState(pCanvasState); 
такие действия приведут к слиянию старого рисунка и нового

но как ни пытался и перед img.Bitmap.Canvas.BeginScene(); и после ставил сохранение (также делал с восстановлением в конце), но получается что если очистить кану, то ни какое восстановление не помежет

пожалуйста объясните что я делаю не так?
woojin вне форума Ответить с цитированием
Старый 12.03.2014, 05:43   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Возможно, Вы немного не так поняли возможности этого метода, у меня такое ощущение, хоть сам и не работал с пылким бабуном.
Советую сперва досканально разобрать пример http://docwiki.embarcadero.com/CodeE...Canvas_(Delphi)

И указзывайте, пжл, в заголовке FMX или Firemonkey
phomm вне форума Ответить с цитированием
Старый 12.03.2014, 12:47   #3
woojin
Пользователь
 
Регистрация: 20.10.2013
Сообщений: 32
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Советую сперва досканально разобрать пример http://docwiki.embarcadero.com/CodeE...Canvas_(Delphi)
этот пример я изучал, (он же в HELP'е есть), даже делал то что там предлагается, но там ни чего не сказано про восстановление предыдущего рисунка

Цитата:
Сообщение от phomm Посмотреть сообщение
И указзывайте, пжл, в заголовке FMX или Firemonkey
даааа, тут как то я забыл
woojin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение области рисования TCanvas xrob Компоненты Delphi 6 13.12.2013 13:39
Incompatible types TCanvas and TBitmap athleet Общие вопросы Delphi 2 13.07.2011 04:01
указатель на TCanvas xrob Компоненты Delphi 3 12.05.2011 01:21
Графика в Делфи TCanvas Summerrain Помощь студентам 1 19.12.2008 02:39
TListView; не рисует цветом TCanvas JetAPI Компоненты Delphi 9 24.08.2007 22:22