 Свойства, методы, события, типы, классы________________________991

Dormant____________________________________________

Создает изображение битовой матрицы в памяти, чтобы освободить дескрип-
тор матрицы и сэкономить ресурсы

Класс TBitmap

Прототип

void   fastcall Dormant(void) ;

Описание

Использование метода Dormant сокращает ресурсы GDI, используемые в при-
ложении. Метод создает изображение матрицы в памяти, используя объект потока
памяти. В дальнейшем через свойство Handle можно освободить связанный с мат-
рицей HBITMAP.

Дополнительную экономию памяти можно получить методом Freelmage,
освобождающим память, занятую кэшированием изображения. Но этот метод мо-
жет приводить к потере глубины цвета.

Пример

void _fastcall TFormI::ButtonlClick(TObject *Sender)

(
Graphics::TBitmap *BitMapl = new Graphics::TBitmap();

Graphics::TBitmap *BitMap2 = new Graphics::TBitmap();

try

(

// загрузка изображения из файла в BitMapl

BitMapl->LoadFromFile("...");

// копирование в BitMap2 из BitMapl

BitMap2->Assign(BitMapl) ;

// освобождение ресурсов GDI

BitMap2->Dormant() ;

// освобождение памяти, изображение не теряется

BitMap2->FreeImage() ;

// изображение из BitMap2 рисуется на канве

Canvas->Draw(20,20,BitMap2) ;

// устанавливается монохромный режим BitMap2

BitMap2->Monochrome = true;

// рисуется монохромный вариант

Canvas->Draw(250,20,BitMap2) ;

// теперь изображение действительно теряется

BitMap2->ReleaseHandle() ;

)

catch (...)

f

MessageBeep(0) ;

t

delete BitMapl;

delete BitMap2;

Draw

Рисует графическое изображение в указанную позицию канвы
Класс TCanvas

Прототип

void   fastcall Draw(int X, int Y, TGraphic* Graphic);