![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TImage.Bitmap
SMATMP © (2005-10-20 13:51:00)Уважаемые мастера! Почему если ни Image1.Picture.Bitmap, ни Bitmapне пустые, то при попытке выполнить
Image1.Picture.Bitmap := Bitmap;
выдается ошибка?
Как отобразить Bitmap в Image1.Picture.Bitmap, если TImageне пуст?
SMATMP (2005-10-24 18:13:00) [1]Спасибо за ответ. Насколько я понял - невизуальному компоненту (если Bitmap : TBitmap конечно является таковым) можно присваивать значение, а свойству Bitmap визуального компонента Image : TImage нельзя, а возможно только его связь с Bitmap : TBitmap. Хотя если честно непонятно почему.
Arimag (2005-10-24 16:27:00) [2]Нет если ты пользуешся TBitmap то можно хоть присваивать, хоть пользоваться методом Assign
SMATMP (2005-10-24 12:31:00) [3]То есть и для TBitmap (я здесь не имею в виду TImage, а := TBitmap.Create) также необходимо использовать
Bitmap1.assign(Bitmap2);?
Arimag (2005-10-24 10:24:00) [4]
> приемлимо Bitmap1 := Bitmap2
приемлемо не будет.
А уничтожение конечно требуется методом Free.
SMATMP (2005-10-24 07:41:00) [5]Понятно. А для TBitmap тогда приемлимо Bitmap1 := Bitmap2? И требуется ли предварительное уничтожение TBitmap (Free, Destroy, := nil)?
Arimag (2005-10-21 17:05:00) [6]Куда оно меняется? Ты оператором
Image1.Picture.Bitmap.assign(Bitmap); фактически присвиваешь картинку из BitMap в Image. Image теперь показывает ту картинку, которая была в BitMap. Так что изменяется Image, а не Bitmap.
SMATMP (2005-10-20 14:56:00) [7]Отлично! Только вот содержимое Bitmapпри этом меняется одновременно с TImage.
Arimag (2005-10-20 14:03:00) [8]Потому что TBitmap довольно сложный класс, это тебе не две переменные типа integer. В таких случаях пользуются прцедурой assign. И твой код должен выглядеть примерно так:
var
Bitmap: TBitmap;
begin
Bitmap:=TBitmap.create;
.....
Image1.Picture.Bitmap.assign(Bitmap);
....
end;