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

TImage.Bitmap   Найти похожие ветки 

← →
SMATMP ©   (2005-10-20 13:51) [0]

Уважаемые мастера! Почему если ни Image1.Picture.Bitmap, ни Bitmap не пустые, то при попытке выполнить

Image1.Picture.Bitmap := Bitmap;

выдается ошибка?
Как отобразить Bitmap в Image1.Picture.Bitmap, если TImage не пуст?


← →
Arimag   (2005-10-20 14:03) [1]

Потому что TBitmap довольно сложный класс, это тебе не две переменные типа integer. В таких случаях пользуются прцедурой assign. И твой код должен выглядеть примерно так:
var
Bitmap: TBitmap;
begin
Bitmap:=TBitmap.create;
 .....
Image1.Picture.Bitmap.assign(Bitmap);
 ....
end;


← →
SMATMP ©   (2005-10-20 14:56) [2]

Отлично! Только вот содержимое Bitmap при этом меняется одновременно с TImage.


← →
Arimag   (2005-10-21 17:05) [3]

Куда оно меняется? Ты оператором
Image1.Picture.Bitmap.assign(Bitmap); фактически присвиваешь картинку из BitMap в Image. Image теперь показывает ту картинку, которая была в BitMap. Так что изменяется Image, а не Bitmap.


← →
SMATMP ©   (2005-10-24 07:41) [4]

Понятно. А для TBitmap тогда приемлимо Bitmap1 := Bitmap2? И требуется ли предварительное уничтожение TBitmap (Free, Destroy, := nil)?


← →
Arimag   (2005-10-24 10:24) [5]


> приемлимо Bitmap1 := Bitmap2

приемлемо не будет.
А уничтожение конечно требуется методом Free.


← →
SMATMP ©   (2005-10-24 12:31) [6]

То есть и для TBitmap (я здесь не имею в виду TImage, а := TBitmap.Create) также необходимо использовать

Bitmap1.assign(Bitmap2);?


← →
Arimag   (2005-10-24 16:27) [7]

Нет если ты пользуешся TBitmap то можно хоть присваивать, хоть пользоваться методом Assign


← →
SMATMP ©   (2005-10-24 18:13) [8]

Спасибо за ответ. Насколько я понял - невизуальному компоненту (если Bitmap : TBitmap конечно является таковым) можно присваивать значение, а  свойству Bitmap визуального компонента Image : TImage нельзя, а возможно только его связь с Bitmap : TBitmap. Хотя если честно непонятно почему.



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

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



Память: 0.46 MB
Время: 0.023 c
2-1130299499
UVV
2005-10-26 08:04
2005.11.13
Можно ли так, или я многого хочу от Delphi


1-1129883653
HF-Trade
2005-10-21 12:34
2005.11.13
Как отключить Таб ордер....


2-1129303334
Mr.Bob
2005-10-14 19:22
2005.11.13
Помогите определиться с типом базы


2-1130348210
SamProf
2005-10-26 21:36
2005.11.13
Как получить адрес из суммы двух адресов?


14-1130171214
Fl@sh
2005-10-24 20:26
2005.11.13
Тайксер & Пачеко




   Наверх