当前位置: 编程技术>.net/c#/asp.net
C#使用GDI+创建缩略图实例
来源: 互联网 发布时间:2014-11-04
本文导语: 本文实例讲述了C#使用GDI+创建缩略图的方法,分享给大家供大家参考。具体方法分析如下: C#的Gdi+还是相当好用的。创建缩略图步骤如下: 1. Image保存图像,需要一个CLSID的参数,它可以这样获得: 代码如下:int GetEncoderClsid(cons...
本文实例讲述了C#使用GDI+创建缩略图的方法,分享给大家供大家参考。具体方法分析如下:
C#的Gdi+还是相当好用的。创建缩略图步骤如下:
1. Image保存图像,需要一个CLSID的参数,它可以这样获得:
代码如下:
int 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 GetWidth();
if (cx >= nWidth)
{
return TRUE;
}
int nHeight = m_pImg->GetHeight();
int nThumbHeight = nHeight * cx / m_pImg->GetWidth() ;
Bitmap bitmap(cx, nThumbHeight, PixelFormat24bppRGB);
Graphics graph(&bitmap);
graph.DrawImage(m_pImg, Rect(0,0,cx,nThumbHeight));
......
}
{
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 GetWidth();
if (cx >= nWidth)
{
return TRUE;
}
int nHeight = m_pImg->GetHeight();
int nThumbHeight = nHeight * cx / m_pImg->GetWidth() ;
Bitmap bitmap(cx, nThumbHeight, PixelFormat24bppRGB);
Graphics graph(&bitmap);
graph.DrawImage(m_pImg, Rect(0,0,cx,nThumbHeight));
......
}
希望本文所述对大家的C#程序设计有所帮助。