![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рамка для вырезания рисунка... [D7, WinXP]
Evgeney © (2010-07-13 23:47:00)На форме имеется компонент image с загруженным рисунком, необходимо вырезать часть определенного размера, для этого надо создать рамку которая бы перемещалась при движении мыши, подскажите куда смотреть или с чего начать, не могу найти как создать рамку... спасибо...
KilkennyCat (2011-04-28 09:50:00) [1]
> HF-Trade © (28.04.11 09:23) [9]
это не муравьи...
HF-Trade (2011-04-28 09:23:00) [2]Var
CursorRectPoint: TPoint;
Begin
GetCursorPos(CursorRectPoint);
With Image1.Canvas do
Begin
Pen.Width := 3;
Pen.Color := clLime;
Brush.Style := bsClear;
Rectangle(CursorRectPoint.X, CursorRectPoint.Y , ширина, высота);
end;
как то так...
Anatoly Podgoretsky (2011-04-27 15:03:00) [3]
> Leonid Troyanovsky © (15.07.10 13:38) [5]
А разве Петя пишет ерунду?
TStranger (2011-04-27 14:29:00) [4]Удалено модератором
TStranger (2011-04-27 14:28:00) [5]Большое спасибо за пример...часа 2-3 парился, а тут за 2 минуты справился :)
Leonid Troyanovsky (2010-07-15 13:38:00) [6]
> TStas (15.07.10 13:24) [4]
> Трояновский - да, солидный автор.
Спору нет - солидный, конечно :)
Но, речь была про Peter Below.
--
Regards, LVT.
TStas (2010-07-15 13:24:00) [7]У меня вчера ссылка не открылась :( А взял я всё из Флёнова. Трояновский - да, солидный автор.
Anatoly Podgoretsky (2010-07-15 10:03:00) [8]
> TStas (14.07.10 23:49) [2]
Ты расказываешь текст по ссылке Leonid Troyanovsky © (14.07.10 07:47) [1]
Прекрасный, надежный пример, как и сам автор, он ерунды не пишет.
TStas (2010-07-14 23:49:00) [9]Таскаемая рамка делается просто: при щелчке мышкой выставляется флажок, что теперь мы рисуем рамку при перемещении мыши. Создаём коррдинаты старой рамки и новой, а рисуем карандашок у которого pmNotXor. При этом при повторном перерисовывании рамка стирается. ПРи кажом перемещении мыши, если есть флаг, что рамку надо рисовать, сначала рисуем её повтороно со старыми координатами, от чего старая рамка стирается, потом с новыми, отчего рисуется новая, а потом старые координаты делаем новыми. Получается во-первых, вегда отрисованная рамка, а, во-вторых, координаты оной рамки, то есть её прямоугольник, что и требовалось.
Leonid Troyanovsky (2010-07-14 07:47:00) [10]
> Evgeney (13.07.10 23:47)
> надо создать рамку которая бы перемещалась при движении
> мыши, подскажите куда смотреть или с чего начать, не могу
> найти как создать рамку...
http://groups.google.com/group/borland.public.delphi.vcl.components.writing/msg/b0203b9ea79016d7?hl=ru
--
Regards, LVT.