Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Cr@sh ©   (2002-08-07 12:37:00) 

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


cr@sh   (2002-08-07 13:05:00) [1]

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


MBo   (2002-08-07 12:44:00) [2]

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо