Chinaunix首页 | 论坛 | 博客
  • 博客访问: 578040
  • 博文数量: 752
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(752)

文章存档

2011年(1)

2008年(751)

我的朋友

分类:

2008-10-13 16:52:25

zfive5:好东西,新东西
(发表于2004-7-12 8:56:00)

qwer4821:如果有相应的demo project 就好了. 组好解释清楚 参数strType 的意思和值表示.
(发表于2004-7-12 9:07:00)

liutian_32:如果使用GDI+的话,应该没有那么麻烦吧,

void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值

Image img(L"d:\\12.jpg");//这里的图片可以是其它格式
CLSID pngClsid;
           GetEncoderClsid(L"image/jpeg", &pngClsid);//这里的图片可以是其它格式
,此处转化为BMP格式
img.Save(L"d:\\12_0.bmp", &pngClsid, NULL);
CDialog::OnLButtonDown(nFlags, point);
}

GetEncoderClsid函数是MSDN里提供的,需要加到你的工程里,真正你要写的只有鼠标事件中的4行代码,根本不要那么复杂
(发表于2004-7-16 14:55:00)

liutian_32:更正:
 GetEncoderClsid(L"image/jpeg", &pngClsid);//这里的图片可以是其它格式

应改为:GetEncoderClsid(L"image/bmp", &pngClsid)
(发表于2004-7-16 14:56:00)

luwei103:转换图片类型当然简单了,

1、你必须在你的工程中加入对GDI+的调用即释放
2、这里给出的是在内存中实现转换,MSDN中给的例子是
   通过在硬盘上保存实现的转换,在内存中相比在硬盘 上实现转换,效率谁都知道把。如果仅仅是实现图片类型的转换MSDN上面有,谁还会拿来发表阿
3、相关的Demo我会近期在网站上发布。
(发表于2004-7-19 11:20:00)

村长大人:为什么我这里说GetEncoderCLSID函数未定义呢?需要包含什么头文件?在帮助上发现也没包含什么特别文件呢
(发表于2004-7-22 10:45:00)

luwei103:GetEncoderClsid函数是MSDN里提供的,需要加到你的工程里
(发表于2004-7-23 12:49:00)

luwei103:BOOL GetImageCLSID(const WCHAR* format, CLSID* pCLSID)
{
UINT num = 0;
UINT size = 0;

ImageCodecInfo* pImageCodecInfo = NULL;
GetImageEncodersSize(&num, &size);
if(size == 0){
return FALSE;
}
pImageCodecInfo = (ImageCodecInfo *)(malloc(size));
if(pImageCodecInfo == NULL)
return FALSE;
GetImageEncoders(num, size, pImageCodecInfo); 

// Find for the support of format for image in the windows
for(UINT i = 0; i < num; ++i)

//MimeType: Depiction for the program image  
if( wcscmp(pImageCodecInfo[i].MimeType, format) == 0)

*pCLSID = pImageCodecInfo[i].Clsid; 
free(pImageCodecInfo); 
return TRUE; 


free(pImageCodecInfo); 
return FALSE; 
}
(发表于2004-7-23 13:02:00)

墨林:这个东西是platform sdk 中gdi+中的示例,通过在微软的网站下在最新的SDK更新库的帮助就可以得到.
(发表于2004-8-31 19:39:00)

墨林:一年前我就已经用过了.
(发表于2004-8-31 19:39:00)

andyming:To liutian_32:我现在需要做一个图片格式转换的东东。请问是否可以加入gdiplus.dll这个库后,你的代码中的函数救可以直接调用了,因为SDK太大,没法下载。谢谢!急……
(发表于2004-9-30 10:51:00)

Mycro:原文有许多笔误,更正如下:
1、GetImageCLSID(A2W("image/"+strType.GetBuffer(0)), &clImageClsid);
——————————〉
GetImageCLSID(A2W(("image/"+strType).GetBuffer(0)), &clImageClsid);
2、imImage->Save(pStmImage, &clJpgClsid);
——————————〉
imImage->Save(pStmImage, &clImageClsid);
3、if (imImage != NULL) delete imImage
---------------------〉 少了分号
if (imImage != NULL) delete imImage;
4、
// GDI+
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
#endif
---------------------->
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
#include 
#endif

建议发文章的人,最好还是要调试一下,否则,会使读者有些小麻烦。。。 :)
(发表于2005-2-2 11:19:00)

..........................................................................
--------------------next---------------------

阅读(321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~