![]() |
|
|
#1
|
|||
|
|||
![]() можно каким-нибудь образом стереть нарисованные линии на форме, кроме как закрасить в цвет формы?
p.s.:у меня на ворме размещена картинка(катра области) и мне необходимо прорисовать несколько дорог ![]() |
#2
|
|||
|
|||
![]() Можно-можно!! =)
У объекта Pen (т.е. у карандаша, которым вы рисуете линию) есть свойство Mode, ответственное за режим рисования. Так вот, если этому свойству Mode присвоить значение pmNotXor, то карандаш при первом рисовании линии будет рисовать ее как обычно, а если нарисовать таким карандашом эту же самую линию второй раз, то прежнее изображение восстанавливается. В общем, смотрите справку по свойству Mode объекта TPen. |
#3
|
|||
|
|||
![]() к сожалению оно мне не помогает
![]() |
#4
|
|||
|
|||
![]() В смысле?? Значит, вы что-то делаете не так.
|
#5
|
|||
|
|||
![]() возможно...
я еще пробывала использовать image1.transparent:=true, но тоже не очень работает... я просто безнадежна ![]() |
#6
|
|||
|
|||
![]() Не делайте поспешных выводов.
Давайте с простого. Пусть на форме у вас битмап. Киньте на форму кнопку и назначьте ей вот такой обработчик события 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; |