Контекст на паметта
КОМПЮТЪРНИ КУРСОВЕ "ТЪРСЕНЕ"
Контекст на паметта
Как да покажа BMP файл във формуляр

ТЕОРИЯ
Този контекст се използва за съхраняване на изображения, които след това ще бъдат копирани в изходното устройство. Самият контекст не се създава в паметта. Той трябва да бъде създаден като съвместим с устройството или прозореца, в който трябва да се копира информацията (тук е - съвместим контекст - адаптер между програмата и драйвера на устройството!). Алгоритъмът за работа с контекст в паметта се състои от няколко стъпки:
- Вземете манипулатора на контекста на устройството (нека го наречем hDC - дръжка на контекст на устройство) за прозореца, в който ще се покаже изображението.
- Получаване на растерното изображение, което ще се покаже в прозореца.
- Получаване на съвместимост с hDC контекст в паметта (за съхраняване на изображението) с помощта на функцията CreateCompatibleDC () (обърнете внимание на името на функцията - създайте СЪВМЕСТИМ контекст).
- Избор на изображение (hBitmap) като текущ за контекста в паметта (hCompatibleDC).
- Копиране на контекстното изображение в паметта (hCompatibleDC) към контекста на устройството (hDC).
- Изтриване на съвместим контекст (hCompatibleDC);
- Предприемане на стъпки, за да се гарантира, че заместеното растерно изображение от контекст в паметта няма да остане в паметта.
- Освободете контекста на устройството (hDC).
Стъпки 6 и 7 могат да бъдат обърнати, ако е необходимо. Кога и как да премахнете заменен растерно изображение, зависи от програмиста и задачата, която му е възложена.
Този метод се използва в повечето програми за копиране на изображение.
ОКО ДА ВИДИ РЪКА ДА ПИПНЕ
Преди да започнем да пишем програмата, трябва да си изясним още една тема. В какви единици се измерват размерите на прозореца и съответно всички измествания в прозореца? За да отговорим на този въпрос, трябва да помислим
Режими на показване
По-голямата част от функциите, работещи с координати на прозореца, определят координати спрямо началото на работната зона на прозореца, т.е. от горния ляв ъгъл.
По този начин, дори когато прозорецът е преместен, координатите на обектите в него остават непроменени. В този случай мерните единици, в които се измерват координатите, зависят от режима на показване (режим на картографиране), зададени за този прозорец. Мерните единици в зависимост от режима на показване се наричат логически единици, а координатите в този случай се наричат логически координати.
Когато информацията се извежда към конкретно устройство, единиците логически координати се преобразуват във физически единици, които са пиксели.
За да зададете текущия режим на показване, използвайте функцията SetMappingMode (), което се описва по следния начин:
функция SetMapMode(
DC: HDC;
p2: Цяло число
): Цяло число; stdcall;