作者共發了3篇帖子。 內容轉換:不轉換▼
 
點擊 回復
470 2
【资料】GDI+中的图像格式编解码器列表
一派護法 十九級
1樓 發表于:2016-8-14 14:08

[Built-in BMP Codec]
MimeType: image/bmp
FormatDescription: BMP
FilenameExtension: *.BMP;*.DIB;*.RLE
Version: 1

[Built-in JPEG Codec]
MimeType: image/jpeg
FormatDescription: JPEG
FilenameExtension: *.JPG;*.JPEG;*.JPE;*.JFIF
Version: 1

[Built-in GIF Codec]
MimeType: image/gif
FormatDescription: GIF
FilenameExtension: *.GIF
Version: 1

[Built-in TIFF Codec]
MimeType: image/tiff
FormatDescription: TIFF
FilenameExtension: *.TIF;*.TIFF
Version: 1


[Built-in PNG Codec]
MimeType: image/png
FormatDescription: PNG
FilenameExtension: *.PNG
Version: 1

一派護法 十九級
2樓 發表于:2016-8-14 14:10

【可以使用下面的程序获得本机的GDI+编解码器列表】

#include <iostream>
#include <Windows.h>
#include <GdiPlus.h>
#pragma comment(lib, "Gdiplus.lib")
using namespace std;
using namespace Gdiplus;
void show(void)
{
    UINT uNum, uSize;
    GetImageEncodersSize(&uNum, &uSize);
    cout << "个数: " << uNum << endl;
    cout << "大小: " << uSize << endl;
    if (uSize == 0)
        return; // malloc(0)也能分配成功, 但无意义

    ImageCodecInfo *pInfo = (ImageCodecInfo *)malloc(uSize);
    if (pInfo == NULL)
    {
        cout << "内存分配失败" << endl;
        return;
    }
    GetImageEncoders(uNum, uSize, pInfo);

    UINT i;
    for (i = 0; i < uNum; i++)
    {
        wcout << '[' << pInfo[i].CodecName << ']' << endl;
        wcout << "MimeType: " << pInfo[i].MimeType << endl;
        if (pInfo[i].DllName != NULL)
            wcout << "DllName: " << pInfo[i].DllName << endl;
        wcout << "FormatDescription: " << pInfo[i].FormatDescription << endl;
        wcout << "FilenameExtension: " << pInfo[i].FilenameExtension << endl;
        wcout << "Version: " << pInfo[i].Version << endl;
        wcout << endl;
    }
    free(pInfo);
}
int main(void)
{
    GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR gdiplusToken;
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

    show();


    GdiplusShutdown(gdiplusToken);
    system("pause");
    return 0;
}

一派護法 十九級
3樓 發表于:2016-8-14 14:14
其中,ImageCodecInfo类中的Clsid属性可用来作为保存图像文件时的类型标识。

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:470 回複數:2
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2016-8-14 14:14
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。