Вниз
Скачать: CL | DM;

Как заштриховать произвольную область в TImage?   Найти похожие ветки 

← →
Cr@sh   (2002-08-07 12:37) [0]

Подскажите пожалуйста, как применить штриховку для области произвольной формы?
И еще, задача такая: есть 2 Image` a в одном из них рисунок, как скопировать произвольную часть этого рисунка во второй Image (на пример в форме неправильного пятиугольника)?
Заранее спасибо.


← →
MBo ©   (2002-08-07 12:44) [1]

1. (TCanvas.)FloodFill, Brush, пример в хелпе для FillRect

2.
procedure TForm1.Button1Click(Sender: TObject);
var PolyRgn:hRgn;
APolygon:array[1..5] of TPoint;
r:trect;
begin
image1.Picture.LoadFromFile("e:\4.bmp");
APolygon[1]:=Point(0,0);
APolygon[2]:=Point(30,20);
APolygon[3]:=Point(50,50);
APolygon[4]:=Point(20,30);
APolygon[5]:=Point(0,0);
PolyRgn := CreatePolygonRgn(APolygon, 5, 0);
SelectClipRgn(image2.Canvas.Handle, PolyRgn);
r:=image1.clientrect;
image2.canvas.copyrect(r,image1.canvas,r);
DeleteObject(PolyRgn);
end;


← →
cr@sh   (2002-08-07 13:05) [2]

Огромное спасибо за помощь, тока в примере ошибочка маленькая
12 строка:
должно быть
PolyRgn := CreatePolygonRgn(APolygon, 5, 1 );
не то все изображение копируется.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
3-92860
Nick-From
2002-11-06 23:18
2002.11.28
Delphi + Prolog = Экспертная система


1-93063
Driverrr
2002-11-16 11:10
2002.11.28
Файлы и папки...


3-92930
Tundra
2002-11-12 05:27
2002.11.28
Как обратиться к конкретной ячейке DBGRID.


3-92881
Сергей Чурсин
2002-11-10 21:41
2002.11.28
Interbase и Force write enabled


3-92869
Youri
2002-11-09 16:48
2002.11.28
Update failed при ApplyUpdates!




   Наверх