Контекст для метафайла
Лекция №5. Работа с функция GDI. Захват изображения.
Висновки
Як узагальнення зазначимо, що у світовій практиці нормотворчої діяльності поширені різні погляди на проблему захисту інформації в автоматизованих системах. Наприклад, у деяких країнах форма вираження інформації не має суттєвого значення для кваліфікації правопорушень. Скажімо, крадіжка інформації у вигляді комп'ютерних програм не відрізняється від крадіжки інформації на паперових носіях. Для правового захисту їх застосовують норми національного авторського права. Правові норми захисту інформації в цих країнах забезпечуються також у межах комплексного міжгалузевого інституту права — права власності, його складової — права інтелектуальної власності чи в рамках правового інституту боротьби з недобросовісною конкуренцією.
Враховуючи умови сьогодення (зокрема те, що основою певної підприємницької діяльності є продаж комп'ютерних програм, а крадіжки їх набули масового поширення), виникає потреба виокремити в окрему інституцію публічного права захист нових форм інформаційних відносин — відносин в умовах інформатизації.
У цьому аспекті можна виділити такі напрямки щодо вдосконалення публічно-правового регулювання інформаційних правовідносин та захисту їх:
1. Розширення змісту законодавства на базі положень авторського права як на національному, так і на міжнародному рівнях.
2. Формування нових комплексних (автономних) міжгалузевих інституцій на зразок інформаційного права, правового регулювання захисту інформації в автоматизованих (комп'ютерних) системах, зокрема так званого комп'ютерного права тощо.
3. Комплексне застосування різних правових доктрин.
Альтернативный метод сохранения изображений представлен в виде метафайлов (metafile). Метафайл в строгом смысле рисунка не хранит, он сохраняет только последовательность команд (вызовов функций GDI) формирующих изображение.
Общие операции над метафайлами можно разделить на операции по созданию метафайла, то есть его записи и операции по воспроизведению метафайла на нужном контексте устройства.
1) Для создания контекста метафайла используется функция CreateMetaFile:
HDC WINAPI CreateMetaFile(LPCSTR lpszFileName);Параметр lpszFileName указывает на строку, содержащую путь к имени файла, в который будут записаны команды GDI, или NULL. Если параметр равен NULL, то создается метафайл в оперативной памяти.
2) После выполнения рисования в контексте метафайла следует закрыть метафайл, вызвав функцию CloseMetaFile:
HMETAFILE WINAPI CloseMetaFile(HDC hdc);Функция закрывает метафайл для контекста hdc и возвращает идентификатор метафайла.
3) Если имеется идентификатор метафайла, то метафайл можно скопировать в обычный дисковый файл, с помощью функции CopyMetaFile:
HMETAFILE WINAPI CopyMetaFile(HMETAFILE hmf, LPCSTR lpszFileName);Параметр hmf определяет метафайл, параметр lpszFileName содержит путь к имени файла, в который будет записан метафайл.
4) Можно проиграть метафайл в контексте отображения или контексте устройства, вызвав функцию PlayMetaFile:
BOOL WINAPI PlayMetaFile(HDC hdc, HMETAFILE hmf);5) При помощи функции DeleteMetaFile можно удалить метафайл:
BOOL WINAPI DeleteMetaFile(HMETAFILE hmf);При удалении метафайла освобождается оперативная память, занятая метафайлом. Если метафайл был создан как дисковый файл, функция DeleteMetaFile не удаляет его с диска.
6) Для того чтобы воспользоваться метафайлом, хранящимся в виде дискового файла, его нужно загрузить функцией GetMetaFile, указав в качестве параметра путь к соответствующему файлу:
HMETAFILE WINAPI GetMetaFile(LPCSTR lpszFileName); Для хранения метафайлов требуется значительно меньше места, чем для хранения растровых изображений. В то же время для отображения метафайлов требуется обычно больше времени, чем для вывода растровых изображений.