ATL COM的Dll中如何使用GDI+

DrSmart 2011-07-14 04:14:10
ATL COM的Dll中如何使用GDI+,代码在MFC的Dialog中正常,到了ATL COM的dll中,也初始化了gdi+在DLL_PROCESS_ATTACH中,但Image或Bitmap对象死活都无法构造成功,返回为NULL,十分奇怪,感觉还是初始化GDI+的问题,用GetLastError也没什么结果,

哪位大牛能给个ATL COM DLL中使用GDI+的工程,或发到我邮箱里,allinsmart@163.com ,实在是郁闷啊
...全文
183 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DrSmart 2011-07-14
  • 打赏
  • 举报
回复
vc6啊,没记错,那应该是ATL7的吧,算了,我还是用我的土方法吧,哈哈
redui 2011-07-14
  • 打赏
  • 举报
回复
构造一个全局的CImage对象即可,啥都不用做。
DrSmart 2011-07-14
  • 打赏
  • 举报
回复
是这样的,因为是一个Win32 shell,由windows explorer来加载,导出了,没啥好办法,谁愿意给个dllmain型能用的gdi+工程,愿意1000分送上,不够再加,哈哈

主要就是初始化完gdi,用bitmap类加载一个比如c盘上的的jpg照片,通过Bitmap对象成功获取图片的宽和高即可,这样的简单例子,哪位大牛愿意帮助下,在线等。
fishion 2011-07-14
  • 打赏
  • 举报
回复
那就试下导出一个接口来进行初始化试试吧
healer_kx 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 drsmart 的回复:]

我这里只有DllMain,没有你说的那东西,没有选择MFC支持,谁能发个工程,可行的,嗨
[/Quote]

呵呵,你想想,为什么DLL往往要提供Initialize一类的导出接口。
就是为了不在DLL_PROCESS_ATTACH 进行初始化而设计的。
healer_kx 2011-07-14
  • 打赏
  • 举报
回复
DLL_PROCESS_ATTACH 这里估计不行。。。
一般不要在这里去做一些很复杂的事情。也不要new,只做非常简单的初始化赋值等等即可。
DrSmart 2011-07-14
  • 打赏
  • 举报
回复
我这里只有DllMain,没有你说的那东西,没有选择MFC支持,谁能发个工程,可行的,嗨
普通网民 2011-07-14
  • 打赏
  • 举报
回复
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&token, &gdiplusStartupInput, NULL);


ATL的工程,本人在ATL对象CApp的构造函数中初始化GDI+。over.

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧