Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.04.2009, 21:08
morkovka morkovka вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 14
Репутация: 10
Печаль я в растерянности

можно каким-нибудь образом стереть нарисованные линии на форме, кроме как закрасить в цвет формы?
p.s.:у меня на ворме размещена картинка(катра области) и мне необходимо прорисовать несколько дорог
Ответить с цитированием
  #2  
Старый 11.04.2009, 21:33
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Можно-можно!! =)
У объекта Pen (т.е. у карандаша, которым вы рисуете линию) есть свойство Mode, ответственное за режим рисования. Так вот, если этому свойству Mode присвоить значение pmNotXor, то карандаш при первом рисовании линии будет рисовать ее как обычно, а если нарисовать таким карандашом эту же самую линию второй раз, то прежнее изображение восстанавливается. В общем, смотрите справку по свойству Mode объекта TPen.
Ответить с цитированием
  #3  
Старый 11.04.2009, 21:40
morkovka morkovka вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 14
Репутация: 10
По умолчанию

к сожалению оно мне не помогает
Ответить с цитированием
  #4  
Старый 11.04.2009, 21:42
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

В смысле?? Значит, вы что-то делаете не так.
Ответить с цитированием
  #5  
Старый 11.04.2009, 21:45
morkovka morkovka вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 14
Репутация: 10
По умолчанию

возможно...
я еще пробывала использовать image1.transparent:=true, но тоже не очень работает...
я просто безнадежна
Ответить с цитированием
  #6  
Старый 11.04.2009, 21:56
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Не делайте поспешных выводов.
Давайте с простого. Пусть на форме у вас битмап. Киньте на форму кнопку и назначьте ей вот такой обработчик события OnClick:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  StartPos: TPoint;
  oldPenMode: TPenMode;
begin
  StartPos.X := 0; StartPos.Y := 0;
  with Image1.Canvas do
  begin
    oldPenMode := Pen.Mode;
    Pen.Mode := pmNotXor;
    PenPos := StartPos;
    LineTo(Image1.Width, Image1.Height);
    Pen.Mode := oldPenMode;
  end;
end;
Щелкните один раз на этой кнопке, посмотрите, нарисовалась линия по диагонали. Щелкните еще раз. Стерлась линия?
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025