![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ворос про рисование на Canvas [XP]
savyhinst © (2008-07-16 13:55:00)Здраствуйте.
Подскажите пожалуйста, как зделать, чтобы некоторая область на канвасе, помеченная чёрным, закрасилась битмапом.
Спасибо за внимание.
Renegat (2008-07-16 14:33:00) [1]> [3] Palladin © (16.07.08 14:23)
аха, +1 =)
Навскидку: создаёшь канвас нужного разрешения, на него накладываешь "маску" - где в исходном канвасе чёрные точки - они должны быть белыми, а во всех остальных местах - чёрными. Накладываешь битмап на этот канвас в режиме AND (т.е. где были чёрные точки - они останутся чёрными, где были белые - станут "как битмап"). Потом сводишь свой основной канвас и этот, в режиме OR. Всё просто. BitBLT в помощь.
Ega23 (2008-07-16 14:31:00) [2]
> NieL7 (16.07.08 14:06) [2]
Это ты на какой вопрос сейчас ответил?
Palladin (2008-07-16 14:23:00) [3]кто бы мог подумать...
NieL7 (2008-07-16 14:06:00) [4]procedure Paint(Canvas: TCanvas);
var
G: TBitmap;
begin
G := TBitmap.Create;
try
G.LoadFromFile('D:\1.bmp');
Canvas.StretchDraw(Rect(0, 0, 100, 100), G);
Invalidate;
finally
G.Free;
end;
end;
brother (2008-07-16 14:00:00) [5]> закрасилась битмапом.
это как?