Любые векторные графические редакторы (напр, Visio, CorelDraw и т.д.) поддерживают экспорт в формат Windows Mwtafile (WMF).
Также формат WMF некоторым образом связан с WinAPI-функциями группы GDI.
Так как это фактически сценарий отрисовки векторных объектов (последовательного вызова GDI-функций).
Печать документа в Windows
Модераторы: Duncon, Hawk, Romeo, Eugie
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Если нужно нарисовать бланк платёжки, то лучше это делать в Excel или в Word. Другое дело, что эти редакторы не сохраняют изображение в метафайл, поэтому приходится копировать изображение в буфер обмена и сохранять его через другое приложение...
Можешь сделать так: создай консольный проект Win32 с названием SaveEmf. Помести в него следующий код и скомпилируй проект...
Затем открой (или создай) в Excel файл с бланком документа. Выдели нужную область ячеек и скопируй в буфер обмена. Потом запусти в командной строке только что сделанную утилиту, к примеру так: SaveEmf.exe BlankDoc.emf
В результате чего появится файл BlankDoc.emf, который и является тем самым метафайлом.
Можешь сделать так: создай консольный проект Win32 с названием SaveEmf. Помести в него следующий код и скомпилируй проект...
Код: Выделить всё
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
if (argc < 2)
{
_tprintf(_T("%s\n"),
_T("The file name was not pointed in command line."));
return -1;
}
//
if (::OpenClipboard(NULL) != 0)
{
HENHMETAFILE hEmf = (HENHMETAFILE)::GetClipboardData(CF_ENHMETAFILE);
if (hEmf != NULL)
{
::CopyEnhMetaFile(hEmf, argv[1]);
}
::CloseClipboard();
}
return 0;
}
В результате чего появится файл BlankDoc.emf, который и является тем самым метафайлом.
Спасибо, WinMain! Очень помог.