• 全部
  • 问答

那位知道将HBITMAP转换为JPG格式的方法,最好有原码(控件也行),最好是VC的。

whitecell 2002-05-23 10:00:29
100分不够可以再加
...全文
147 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
daehappy 2002-07-08
UP!GZ!
回复
zzwu 2002-06-11
[注]create命令实际只是为在内存中存放jpeg创建一个组件。在Delphi中,用

ajpg:=TjpegImage.Create;

来实现。
回复
zzwu 2002-06-11
想在内存中把bmp格式转换为jpg格式,这在Delphi中又是非常非常非常方便的事情,只要一条语句就可完成:

ajpg.assign(abmp);

其中,
abmp是内存中已存在的一个bmp(bitmap)
ajpg是已用create创建的内存jpeg

[注]create命令实际只是为存放jpeg分配空间
回复
如果我想在内存中把bmp格式转换为jpg格式,而不是写成jpg文件.

该怎么做才能办到那?

回复
j_d_s 2002-05-28
上面讲的很清楚了,就是这样用GdiPlus,你会有一种新天地的感觉。
回复
ccscsdn 2002-05-27
GdiPlus用起来很简单,可以到微软主页下
#include <Stdio.h>
#include <Objbase.h>
#include <Windows.h>
#include <Gdiplus.h>
using namespace Gdiplus;

// Helper functions
int GetCodecClsid(const WCHAR*, CLSID*);

int main()
{
CLSID codecClsid;
Status stat;
Image image(L"Bird.bmp");

// Get the CLSID of the PNG codec.
GetCodecClsid(L"image/jpg", &codecClsid);

stat = image.Save(L"Bird.jpg", &codecClsid, NULL);

if(stat == Ok)
printf("Bird.jpgwas saved successfully\n");
else
printf("Failure: stat = %d\n", stat);

return 0;
} // main

如果你的是HBITMAP可以用Bitmap类,它是Image的一个子类
可以由The Bitmap::Bitmap(hbm, hpal) overloaded constructor creates a Bitmap object from a GDI HBitmap and a GDI HPalette.

Bitmap(
HBITMAP hbm,
HPALETTE hpal
)
Parameters
hbm
[in] Handle to a Windows GDI bitmap.
hpal
[in] Handle to a Windows GDI Palette.
构造,
具体内容见MSDN
XP已经支持GDIPlus了,在98、2000下要到到微软主页下载相差SDK
回复
zzwu 2002-05-27
我想Vc应自带Jpg控件,因Delphi中是有的。我的PC上没有装Vc,否则可以代您查一查看。
回复
ququshb 2002-05-26
用intel jpeg lib
很简单的,
我也可以给你封装好的dll
sendhb@163.net
回复
crazybit 2002-05-26
asett1
那里可以当"ITJ的jpeglib2"
我的信箱 crazybit@263.net
谢谢.
回复
cclofqd 2002-05-25
受到了吧
回复
whitecell 2002-05-24
up
回复
asett1 2002-05-24
用ITJ的jpeglib2 ,很好用,全部功能都封装在几个函数中,只要在project中加上就行了
回复
发帖
机器视觉
创建于2007-08-27

3886

社区成员

图形图像/机器视觉
申请成为版主
帖子事件
创建了帖子
2002-05-23 10:00
社区公告
暂无公告