Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

почему так работает TIMAGE   Найти похожие ветки 

 
RedLord   (2004-11-13 22:24) [0]

всем привет
народ подскажите почему так происходит и как с этим бороться??
если выполнять код до exit то иконка отображается
а если до конца процедуры, то даже иконка не отображается и весь массив заполнен одинаковыми значениями.

buf:array of dword;
x,y:integer;
begin
n:=0; a:="c:\1.exe";
image2.Picture.Icon.Handle:=extracticon(hinstance,a,0);
//exit;
setlength(buf,image2.Width* image2.Height );
for x:=0 to  image2.Width -1 do
 for y:=0 to  image2.Height -1 do
begin buf[n]:=image2.Picture.Bitmap.Canvas.Pixels[x,y];inc(n);end;
showmessage("proba");
end;


 
Mihey_temporary ©   (2004-11-13 22:51) [1]

TImage.Picture.Bitmap в данном случае не заполняется. Всё бы хорошо, но ты к нему обращаешься, а в данном случае это вызывает обнуление изображения. Выход - переконвертировать иконку в битмап либо не использовать TImage, который, кстати, не совсем верно работает с иконками.

Иконка в битмап:

http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=590



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

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.071 c
10-1084467392
VK220
2004-05-13 20:56
2005.02.27
Почему функция _AddRef (как и _Release) вызывается не


14-1107538132
Кирилл
2005-02-04 20:28
2005.02.27
Вопрос по математике


1-1108061284
Алексей
2005-02-10 21:48
2005.02.27
Обработка данных основного приложения через DLL


1-1108379294
Kat
2005-02-14 14:08
2005.02.27
Два пользователя работают одновременно.


1-1108441307
Steve
2005-02-15 07:21
2005.02.27
TImageList - как можно из одного рисунка вырезать много мелких?