VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1854|回复: 13

求dll的静态链接解决方案,或bmp转jpg源码

[复制链接]

3

主题

29

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-1-10 22:40:01 | 显示全部楼层 |阅读模式
有一将bmp转为jpg的dll,无.h,无.lib,居然被我调用成功了,代码附在后面。
  这个在普通程序中调用没有问题,可是我是在ActiveX中调用,这就碰上了路径问题。我的ActiveX最后要和这个dll打包成cab,数字签名后发布。
  我测试发现(不是用cab,而是两个分开的),在Web上使用时ActiveX找dll居然到桌面上找,我猜可能是IE快捷方式的路径。这样打包后找dll肯定找不到,因为ActiveX和dll都会被下载C:\WINDOWS\Downloaded Program Files路径下。
  我想用静态链接应该不会出现路径的问题,但没有.h,连.lib都没有,能实现静态链接吗?
  当然,有其它dll或能提供bmp到jpg的类源码也可以,要VC++6的,不要c的和VC++.net的。


附:动态链接代码
typedef  bool(__stdcall CHANGE)(char *,char *);
void CJpeg::BmpToJpeg(CString Bmp, CString Jpeg)
{
        HINSTANCE hInst;
        CHANGE *pFunc;
        hInst = ::LoadLibrary("jpgdll.dll");
        pFunc = (CHANGE*)::GetProcAddress(hInst, "BmpToJpg");
        pFunc(Bmp.GetBuffer(Bmp.GetLength()), Jpeg.GetBuffer(Jpeg.GetLength()));
        Bmp.ReleaseBuffer();
        Jpeg.ReleaseBuffer();
        ::FreeLibrary(hInst);
}
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-1-14 11:36:01 | 显示全部楼层
静态连接必须要有lib文件,你可以用CImage::Save函数来进行转换
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-1-14 12:45:01 | 显示全部楼层
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);

CImage image;
image.Attach(bmp);

image.Save("c:\\aa", ImageFormatJPEG);
回复

使用道具 举报

0

主题

57

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-14 13:18:01 | 显示全部楼层
你在写个DLL,动态加载这个DLL不就可以了,桥接一下
回复

使用道具 举报

3

主题

29

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
 楼主| 发表于 2020-1-14 16:45:01 | 显示全部楼层
2511718 :
晕,就这么简单?CImage是那里的类?我的msdn中怎么查不到?

food0012 :
桥接我的dll调用那个dll不是一样有路径问题?我是在Web上用啊。
回复

使用道具 举报

0

主题

24

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-1-14 20:36:01 | 显示全部楼层
找个JpegLib.
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-1-15 14:00:01 | 显示全部楼层
#include <atlimage.h>

CImage是atl库中的类
回复

使用道具 举报

0

主题

59

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-1-15 21:54:02 | 显示全部楼层
可能你的电脑没有装atl库吧,一般的VC默认安装都有的。
回复

使用道具 举报

3

主题

29

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
 楼主| 发表于 2020-1-15 22:27:01 | 显示全部楼层
我看一下,那发布时不用其它的支持吧?
回复

使用道具 举报

3

主题

29

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
 楼主| 发表于 2020-1-16 00:27:01 | 显示全部楼层
呵呵,已经装了,但找不到
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表