Контекст в памяти

Этот контекст используется для хранения изображений, которые затем будут скопированны на устройство вывода. Сам по себе контекст в памяти не создается. Он обязательно создается как совместимый с тем устройством или окном, на которое предполагается копировать информацию (вот он - совместимый контекст - переходник между программой и драйвером устройства!). Алгоритм работы с контекстом в памяти состоит из нескольких шагов:
  1. Получения хэндла контекста устройства (назовем его hDC - handle of Device Context) для окна, в которое будет осуществляться вывод изображения.
  2. Получения хэндла bitmap'а, который будет отображаться в окне.
  3. Получения совместимого с hDC контекста в памяти (для хранения изображения) с помощью функции CreateCompatibleDC() (обратите внимание на название функции - создать СОВМЕСТИМЫЙ контекст).
  4. Выбора изображения (hBitmap) как текущего для контекста в памяти ( hCompatibleDC).
  5. Копирования изображения контекста в памяти (hCompatibleDC) на контекст устройства (hDC).
  6. Удаления совместимого контекста (hCompatibleDC).
  7. Принятия мер для того, чтобы замещенный bitmap из контекста в памяти не остался в памяти.
  8. Освобождения контекста устройства (hDC).

При необходимости шаги 6 и 7 можно поменять местами. Когда и как удалять замещенный bitmap, зависит от программиста и поставленной перед ним задачи.

Именно этот способ и используется в большинстве программ для копирования изображения.

Но, как известно, лучше один раз увидеть, чем сто раз услышать (по-английски это звучит еще более категорично - seeing is believing - увидеть, значит поверить).

Используются технологии uCoz