Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо