Вниз
Скачать: CL | DM;

Как стереть Image.Picture.Graphic?   Найти похожие ветки 

← →
Kraks   (2003-11-19 08:33) [0]

Мне необходимо очистить картинку TImage. Здесь в форуме нашёл темы про очистку Canvas, но у меня в имадже могуть лежать bmp, jpg, поэтому к Canvas-у TBitmap я добраться не могу. Ну, точнее, могу. Надо проверять, что за картинка и в зависимости от этого очищать Canvas либо Bitmap-а, либо TJpegImage. А нельзя ли очистить Image.Picture.Graphic? В других форумах говорили, что писать Image.Picture.Graphic := nil некорректно (только не пояснили, почему - не просвятите? :) ). Советовали изменять ширину и высоту Graphic до 0 и обратно, но как-то это всё...


← →
MBo ©   (2003-11-19 08:40) [1]

Image.Picture.Graphic := nil  - корректно.


← →
Kraks   (2003-11-19 22:35) [2]

А мне в форуме SQL.ru - Delphi сказали, что будет утечка памяти, хотя у себя в примере пробовал - вроде работает...


← →
Mihey ©   (2003-11-20 01:06) [3]

Да уж, хорошо бы Image.Picture.Graphic.Free или с проверкой, чтобы наверняка If Assigned(Image.Picture.Graphic) then
Image.Picture.Graphic.Free, а потом уже MBo [1].


← →
default ©   (2003-11-20 01:11) [4]

а может посмотреть, что в методе который пишет в это свойство?
MBo не просто так же пишет


← →
Kraks   (2003-11-20 08:09) [5]

Ага. Я уже выяснил. )) Именно так:

if Assigned(Image.Picture.Graphic) then
begin
 Image.Picture.Graphic.Free;
 Image.Picture.Graphic := nil;
end;


← →
MBo ©   (2003-11-20 08:33) [6]

Протрассировав
Image.Picture.Graphic := nil  
или просто заглянув в исходники, видим
FGraphic.Free;
и соответственно бессмысленность "Именно так:..."

BTW, того же результата добьемся, просто сделав
Image.Picture := nil;


← →
Vlad1 ©   (2003-11-20 22:07) [7]

Разумное слово только от MBo: Image.Picture := nil;. У меня в целом ряде программ есть кнопка "Очистить картинку" и код именно такой: Image.Picture := nil;. Не думал, что для кого-то это проблемма.


← →
Kraks   (2003-11-21 08:04) [8]

А ведь и правда. Free, nil не работает! Буду делать так же. )) Спасибо.


← →
Галина   (2004-01-22 08:44) [9]

Спасибо большое за нежданную помощь...



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
1-1081248193
Piero
2004-04-06 14:43
2004.04.25
Как просмотреть дерево каталогов на диске


3-1080803624
dima74
2004-04-01 11:13
2004.04.25
Временные файлы


1-1081319797
Layner
2004-04-07 10:36
2004.04.25
Как избавится от FormMouseDown при FormDblClick


4-1077407594
Sulimxar
2004-02-22 02:53
2004.04.25
Вывести текст на канву инверсным цветом


8-1073496651
The xXx
2004-01-07 20:30
2004.04.25
Media Player




   Наверх