轉:GetCodecClsid--提供多種轉換功能的GDIPLUS (轉)
The GDI+
--------------------------------------------------------------------------------
This article was contributed by Leandro Gustavo Biss Becker - CEFET-PR.
Environment: [VC6 SP4, NT4 SP3, W2k, Win 9x]
I have found that the Microt GDI+ can do many cool things for you. Previously you had to find code or write your own code to do the same things. One of these things is the ability to load or save the following types of images:
BMP
DIB
RLE
GIF
JPEG
EMF
TIFF
PNG
These can be loaded with just a few lines of code like this:
#include
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
Image Im(L"c:fig.jpg", FALSE);
CLSID GifCodec;
GetCodecClsid(L"image/gif", &GifCodec);
Im.Save(L"c:fig.gif", &GifCodec, NULL);
Here is the code to GetCodecClsid
int GetCodecClsid(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;
return j; // Success
}
} // for
return -1; // Failure
} // GetCodecClsid
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991049/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RDBMS提供了多種的診斷工具(轉)
- oracle行列轉換-字串轉換成多列Oracle字串
- oracle行列轉換-多列轉換成字串Oracle字串
- 三種常見中文內碼的轉換方法!(轉)
- [Python] 各種轉換Python
- JavaScript中的多種進位制與進位制轉換JavaScript
- Vidmore影片轉換器的幾種編輯功能分享給大家
- Spark中的三種隱式轉換Spark
- Oracle中Date的各種格式轉換Oracle
- HTML轉換到PDF的三種方式HTML
- JS中的資料型別轉換:String轉換成Number的3種方法JS資料型別
- 熊與猴的轉換(轉)
- js漢字轉換為拼音功能JS
- Android 多國語言轉換 Excel 和 Excel 轉換為 stringAndroidExcel
- 多種分割WebServer日誌的方法(轉)WebServer
- js金錢轉換為小額的功能JS
- Color Convert ---- Sublime Text 3多種顏色轉換外掛
- 多國語言程式設計之資源轉換 (轉)程式設計
- Drawable轉換為Bitmap兩種方法
- 處理物件的多種狀態及其相互轉換——狀態模式(五)物件模式
- 處理物件的多種狀態及其相互轉換——狀態模式(四)物件模式
- 處理物件的多種狀態及其相互轉換——狀態模式(一)物件模式
- Visual C++實現檔案間批次轉換功能 (轉)C++
- smarty、smarty格式化、smarty整數、smarty float、smarty各種轉換方式、smarty日期轉換等等 (轉)...
- 用於日期轉換的訊息轉換器
- PDF轉換器在電腦上怎樣使用?PDF轉換器功能有哪些?
- JDom 常用轉換方法 (轉)
- 行列轉換 交叉表 (轉)
- heic格式轉換jpg工具——轉易俠heic轉換器
- java型別轉換與強制型別轉換(轉)Java型別
- 各種座標系互相轉換(WGS84轉換BD-09主要)
- Oracle 12c中的轉換功能增強Oracle
- 【轉】[Java] 防止併發的多種寫法Java
- pdf轉換成word,免費轉換
- oracle行列轉換-多行轉換成字串Oracle字串
- 行列轉換,列行轉換統計
- 用C語言實現常見的三種中文內碼轉換(轉)C語言
- 陽曆到陰曆的轉換 (轉)