Форум: "Media";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизМожно ли сравнит две Icon? Найти похожие ветки
← →
jonni (2003-09-30 21:10) [0]у меня есть две Icon. Я хочу сделать что то типа
if Icon=Icon the do something;
возможно ли сравнивать изображения или нет??
зарание спасибо
← →
jonni (2003-09-30 21:11) [1]sorry
if Icon1=Icon2 ..... hotya dumayu i tak ponyatno :)
← →
Mihey (2003-09-30 22:08) [2]Это не вызовет ошибку, но желаемого ты не достигнешь. Увы, даже если изображение одно, объекты имеют отличия.
← →
лещ (2003-09-30 22:12) [3]Переводи в битмап и сравнивай попиксельно.
← →
jonni (2003-09-30 22:39) [4]potochnee mozhno pro srvnivanie popiksel"no
ideya i bila srazu sravnit" izobrazheniya no ya ne znayu kak :(
mozhno li paru strochek kinut" kak sravnit" popixel"no
← →
Mihey (2003-09-30 23:25) [5]> mozhno li paru strochek kinut" kak sravnit" popixel"no
Пробуй код (ошибки справь сам). Сложность в том, что у TIcon нет канвы :(. Приходится копировать в битмапы.
var x, y: Integer;
Icon1, Icon2: TIcon;
IconBMP1, IconBMP2: TBitmap;
...
IconBMP1 := TBitmap.Create;
IconBMP2 := TBitmap.Create;
IconBmp1.Width := Icon1.Width;
IconBmp1.Height := Icon1.Height;
IconBmp2.Width := Icon2.Width;
IconBmp2.Height := Icon2.Height;
IconBMP1.Canvas.Draw(0, 0, Icon1);
IconBMP2.Canvas.Draw(0, 0, Icon2);
for y := 0 to IconBmp1.Height-1 do
for x := 0 to IconBmp1.Width-1 do
begin
If IconBmp1.Canvas.Pixels[x,y] <> IconBmp2.Canvas.Pixels[x,y] then
begin
ShowMessage("Иконки разные!");
Exit;
end;
end;
IconBMP1.Free;
IconBmp2.Free;
← →
jonni (2003-10-01 00:09) [6]spasibo.... probuyu...
odno toka mne ne nravit"sya...... netu u meny acanvas tozhe :)
u menya toka API..... a kak v etom sluchae ne znaesh sluchay no mozhno oboytis?
← →
ZEE (2003-10-01 17:19) [7]>toka API
вместо Canvas.Pixels[] ставь GetPixel()
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c