RT,应用于MFC的程序,谁有相关算法,分不够可以增加。
解决方案 »
- 网络通信的几个疑问
- CListBox 插入文字怪异问题!!
- 紧急求救!!!!父子进程之间的信号量操作问题,有代码
- 哪位朋友可以给出《THINK IN C++》第一卷 第三章 第28道练习题的程序啊
- 怎么记录系统中任意文件夹的打开次数?其中几个也行?
- 在线等待为什么在dll里用DialogBox函数的对话框显示不出来
- 自己做的静态链接库怎么链不上呢?
- 谁知道有哪些关于C,C++,VC++的新闻组服务器地址
- 那里有通信编程(VC)的书籍下栽?
- 求教大神:MFC输入MAC地址,怎么查找到wifi网络中对应的IP地址
- vc++ mfc 编辑框中呈现阅读文章的功能 如何使以页面的形式在编辑框中打开
- 单文档,将MainFrame的标题栏去掉了,该怎么移动窗口?
BI_RLE8 google一下可以找到压缩解压的源码
BI_PNG直接使用pnglib就好了
GDI+或者libpng都支持的、ImageMagik之类的图像处理库也能用。
网上下了一些,但都没有实现
IStream* CDXGraph::StretchPic(const WCHAR *path, const WCHAR *format, int width, int heigh)
{
Bitmap orgpic(path) ;
Image *Despic = orgpic.GetThumbnailImage(width,heigh) ;
IStream* pstm = NULL;
CLSID encoderClsid ;
GetEncoderClsid(format,&encoderClsid) ;
CString name;
name = "Debug\\1.bmp";
Status sta =Despic->Save(name.AllocSysString(),&encoderClsid,0) ; //Despic->Save(pstm, &encoderClsid,0);
if (sta == Ok)
{
return pstm ;
}
return NULL ;
}int CDXGraph::GetEncoderClsid(const WCHAR *format, CLSID *pClsid)
{
UINT num = 0; // number of image encoders
UINT size = 0; // size of the image encoder array in bytes
ImageCodecInfo* pImageCodecInfo = NULL;
GetImageEncodersSize(&num, &size);
if(size == 0)
return -1; // Failure
pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
if(pImageCodecInfo == NULL)
return -1; // Failure
GetImageEncoders(num, size, pImageCodecInfo);
for(UINT j = 0; j < num; ++j)
{
if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
{
*pClsid = pImageCodecInfo[j].Clsid;
free(pImageCodecInfo);
return j; // Success
}
}
free(pImageCodecInfo);
return -1;
}调用方法
StretchPic(L"1.bmp",L"image/bmp",200,200)
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(461) : error C2146: 语法错误 : 缺少“;”(在标识符“orgpic”的前面)
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(461) : error C3861: “orgpic”: 找不到标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(462) : error C2065: “Image”: 未声明的标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(462) : error C2065: “Despic”: 未声明的标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(462) : error C2228: “.GetThumbnailImage”的左边必须有类/结构/联合
1> 类型是“'unknown-type'”
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(470) : error C2065: “Status”: 未声明的标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(470) : error C2146: 语法错误 : 缺少“;”(在标识符“sta”的前面)
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(470) : error C2065: “sta”: 未声明的标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(470) : error C2227: “->Save”的左边必须指向类/结构/联合/泛型类型
1> 类型是“'unknown-type'”
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(471) : error C2065: “Ok”: 未声明的标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(482) : error C2065: “ImageCodecInfo”: 未声明的标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(482) : error C2065: “pImageCodecInfo”: 未声明的标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(483) : error C3861: “GetImageEncodersSize”: 找不到标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(486) : error C2059: 语法错误 : “)”
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(489) : error C3861: “GetImageEncoders”: 找不到标识符
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(492) : error C2228: “.MimeType”的左边必须有类/结构/联合
1>e:\vs2005 code\testrar\testrar\testrardlg.cpp(494) : error C2228: “.Clsid”的左边必须有类/结构/联合
也许是我说的不清楚我其实就是要一个压缩算法,传输然后在解压缩ZIP网上下载的都没有实现 不知道你做过没有