-
-
[求助]求助metafile相关api EmfToWmfBits的使用
-
发表于: 2019-9-8 23:31 3657
-
我准备读取一个emf文件并调用EmfToWmfBits这个api。我先上自己的代码吧。
#include <iostream>
#include <stdio.h>
#include <WINDOWS.H>
#include <shellapi.h>
#include <gdiplus.h>
#pragma comment(lib,"gdiplus.lib")
#pragma comment(lib, "shell32.lib")
using namespace Gdiplus;
int main(int argc, char **argv)
{
UINT size1 = 0;
int argcount;
LPWSTR* szArglist;
if (argc < 2) {
std::cout << "Please input a file name" << std::endl;
return 0;
}
szArglist = CommandLineToArgvW(GetCommandLineW(), &argcount);
Metafile myMetafile(szArglist[1]);
LocalFree(szArglist);
HENHMETAFILE hEmf = myMetafile.GetHENHMETAFILE();
size1 = Metafile::EmfToWmfBits(
hEmf,
0,
NULL,
MM_ANISOTROPIC,
EmfToWmfBitsFlagsEmbedEmf);
std::cout << size1 << std::endl;
}这里我遇到的问题是在
Metafile myMetafile(szArglist[1]);
我调试的时候发现这个结构体关键的地方并没有读取图片成功,导致后面size1是0。所以应该是创建这个类的时候读取文件失败了。
我猜测可能的原因是szArglist[1]这里是unicode,然后找不到图片。我图片名字是bird.emf。但是我换了中文名还是不行。
我也试过
Metafile myMetafile(L“bird.emf”);
还是没用。所以只能来这里求助,帮帮小弟吧。谢谢。
[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
赞赏
雪币:
留言: