-
-
[求助]求助metafile相关api EmfToWmfBits的使用
-
发表于: 2019-9-8 23:31 3490
-
我准备读取一个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”);
还是没用。所以只能来这里求助,帮帮小弟吧。谢谢。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
看原图
赞赏
雪币:
留言: