![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скажите пожалуйста, как можно очистить TImage от загруженного рис [D7, WinXP]
3Lander © (2007-10-26 19:41:00)Скажите пожалуйста, как можно очистить TImage от загруженного рисунка? Тока заполнять его через канвас мнимым прямоугольником?! (к сожалению фон самого окна не однотонный - поэтому не катит)
MetalFan (2007-10-30 12:41:00) [1]
> Утечек не будет?
не должно
Дмитрий Белькевич (2007-10-30 02:25:00) [2]
> Image1.Picture := nil;
Утечек не будет?
PZ (2007-10-27 07:57:00) [3]Image1.Picture := nil;
Desdechado (2007-10-26 21:01:00) [4]Очистить или залить фоновым цветом? Это таки разные вещи.
Заливка FillRect
3Lander (2007-10-26 20:21:00) [5]вощем раз никто не знает пришлось написать процедурку с закраской по цвету фона - мож кому пригодится:
procedure DoTransPicture(var im:TImage); { принимаем наш имадж к-й нужно "залить" под цвет фона. Здесь mainImage - наш основной фоновый рисунок}
var i,j:integer;
begin
for i:=0 to im.Width-1 do
for j:=0 to im.Height-1 do
begin im.Picture.Bitmap.Canvas.pen.Color:=form1.mainImage.Picture.Bitmap.Canvas.Pixels [im.Left+i,im.Top+j];
im.Picture.Bitmap.Canvas.MoveTo(i,j);
im.Picture.Bitmap.Canvas.LineTo(i+1,j+1);
end;
im.Repaint;
end;
3Lander (2007-10-26 19:45:00) [6]причем брать пиксель от окна и перекрашивать его в имадж - не оч хор решение, т.к. таких рисунков 10 шт и они постоянно меняются (так была поставленна задача)