|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.07.2014, 19:46 | #11 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Правильно не вариант. Поэтому нормальный редактор работает в слоях, или запоминает свои действия. Например все что ты нарисовал (линии квадраты и пр) запоминай их координаты и тип в некий массив динамический или динамический список, а когда нужно что-то стереть удаляй эту конкретную линию из списка после заставь программу перерисоваться. При переисовке программа должна пройтись по этому списку и заново на экране нарисовать все что в списке. Ессно то что удалено из него исчезнет и на экране. Идея ясна?
I'm learning to live...
|
13.07.2014, 20:40 | #12 |
Пользователь
Регистрация: 22.06.2014
Сообщений: 22
|
понятен смысл...но как дойти до него ручками...?можно хоть какой-нибудь пример,что бы понять?я не прошу кодить мне,самому бы разобраться
|
14.07.2014, 06:53 | #13 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Вот, например, http://www.delphisources.ru/forum/sh...d.php?p=139486
В темке пример как можно рисовать с запоминанием нарисованного, и удалением нарисованного. |
14.07.2014, 17:36 | #14 |
Пользователь
Регистрация: 22.06.2014
Сообщений: 22
|
понял,тогда вот такой вопрос...полность очистить от нарисованных линий?на обработчике кнопк"стереть" пишу
img1.Canvas.Brush.Color:=Form1.Colo r; img1.Canvas.FillRect(Rect(0, 0, img1.Width, img1.Height)); стирает не только линии,но и jpeg на котором рисую,как удалить все нарисованное,но загруженую jpeg оставить? |
14.07.2014, 20:48 | #15 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Ну, есть 2 способа.
Первый способ - удалить все нарисованные объекты в цикле. Второй - при загрузке жпега, сохранить его в отдельно созданный TJPEGImage, оригинал, то бишь. И когда нажимаете стереть всё - то сперва используете код, который указали (полная очистка имейджа, а также можно использовать способ попроще img1.Picture := nil)? и после такой очистки, заново на имедж "нарисовать" этот запомненный жпег (рисуя на канвас или присвоением в Picture). |
15.07.2014, 20:51 | #16 | |
Пользователь
Регистрация: 22.06.2014
Сообщений: 22
|
Цитата:
Image1.Picture.SaveToFile('C:\WINDO WS\foto.jpg'); а в кнопке стереть image1.Picture := nil; Image1.Picture.LoadFromFile('C:\WIN DOWS\foto.jpg'); потом их удалить,но получаю ошибку JPEG error#53 |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
А рисовать то не умею.. | Saintpatrick38 | Microsoft Office Excel | 2 | 04.04.2013 17:23 |
Рисовать график | grafgrial | Мультимедиа в Delphi | 1 | 19.10.2011 11:42 |
Рисовать попиксельно | Ooops | Софт | 2 | 15.12.2009 10:00 |
Рисовать на видео | Tmt | Общие вопросы Delphi | 5 | 07.02.2007 11:31 |