使用ijl庫Jpg轉RGB
#include “ijl.h”
BOOL ConverJPG2BID(BYTE *lpJpgBuffer,
DWORD dwJpgBufferSize,
BYTE *lppRgbBuffer,
DWORD *lpdwWidth,
DWORD *lpdwHeight,
DWORD *lpdwNumberOfChannels)
{
BOOL bres;
IJLERR jerr;
DWORD dwWholeImageSize;
BYTE *lpTemp = lppRgbBuffer;
JPEG_CORE_PROPERTIES jcprops;
bres = TRUE;
__try
{
jerr = ijlInit(&jcprops);
if (IJL_OK != jerr)
{
bres = FALSE;
__leave;
}
jcprops.JPGFile = NULL;
jcprops.JPGBytes = lpJpgBuffer;
jcprops.JPGSizeBytes = dwJpgBufferSize;
jerr = ijlRead(&jcprops, IJL_JBUFF_READPARAMS);
if (IJL_OK != jerr)
{
bres = FALSE;
__leave;
}
switch (jcprops.JPGChannels)
{
case 1:
{
jcprops.JPGColor = IJL_G;
jcprops.DIBColor = IJL_RGB;
jcprops.DIBChannels = 3;
break;
}
case 3:
{
jcprops.JPGColor = IJL_YCBCR;
jcprops.DIBColor = IJL_BGR;
jcprops.DIBChannels = 3;
break;
}
default:
{
jcprops.JPGColor = IJL_OTHER;
jcprops.DIBColor = IJL_OTHER;
jcprops.DIBChannels = jcprops.JPGChannels;
break;
}
}
dwWholeImageSize = jcprops.JPGWidth * jcprops.JPGHeight *
jcprops.DIBChannels;
jcprops.DIBWidth = jcprops.JPGWidth;
jcprops.DIBHeight = jcprops.JPGHeight;
jcprops.DIBPadBytes = 0;
jcprops.DIBBytes = lpTemp;
jerr = ijlRead(&jcprops, IJL_JBUFF_READWHOLEIMAGE);
if (IJL_OK != jerr)
{
bres = FALSE;
__leave;
}
} // __try
__finally
{
ijlFree(&jcprops);
*lpdwWidth = jcprops.DIBWidth;
*lpdwHeight = jcprops.DIBHeight;
*lpdwNumberOfChannels = jcprops.DIBChannels;
} // __finally
return bres;
}
int CPictureXXX::SetJpegBuffer(void *pJpegBuf,
DWORD len,
BYTE *lppRgbBuffer,
DWORD *lpdwWidth,
DWORD *lpdwHeight)
{
DWORD nChannels = 0;
ConverJPG2BID((BYTE *)pJpegBuf, len, lppRgbBuffer, &(*lpdwWidth),
&(*lpdwHeight), &nChannels);
return 0;
}
引數解釋:
pJpegBuf:儲存Jpeg影象資料的緩衝區;
len:儲存Jpeg影象資料的size
lppRgbBuffer:儲存轉換成RGB後的影象緩衝區;
lpdwWidth:影象的寬,從jpg影象中獲取;
lpdwHeight:影象的高,從jpg影象中獲取;
相關文章
- 使用intel ijl庫 RGB轉JpgIntel
- JPEG轉RGB Bmp(IJG庫 jpeg.lib)
- JPG轉TXT的教程
- JPG轉CAD,JPG圖片如何轉換成CAD圖紙?
- php中RGB轉十六進位制、十六進位制轉RGBPHP
- js 正則判斷顏色值,HEX轉RGB,HSL轉RGBJS
- heic格式批量轉jpg怎麼轉?
- jfif怎麼改成jpg jfif格式怎麼轉換成jpg格式
- RGB與YIQ的轉換
- RGB轉jpeg(opencv或IJG)OpenCV
- livp怎麼轉jpg 如何將live照片格式在電腦上轉換為jpg
- 怎麼把jpg圖片轉為Word文件 怎麼把Word轉換成jpg
- heic檔案如何轉換jpg?
- RGB2YUV 的verilog實現(RGB轉YUV)
- png轉jpg,常用格式怎麼互相轉換
- YUV <——> RGB 轉換演算法演算法
- webp格式轉換成jpg怎麼設定 電腦webp線上轉換jpg方法介紹Web
- 圖片heic怎麼轉換jpg?
- 將UIView轉成UIImage,將UIImage轉成PNG/JPGUIView
- 圖片格式怎麼轉換,如何轉換jpg
- heic格式轉換jpg怎麼轉?兩步搞定
- Java實現emf轉jpg png 圖片轉換Java
- jpeg轉化jpg怎麼操作 jpeg怎麼線上免費改為jpg格式
- 如何使用Super Vectorizer在 Mac 上將 PNG、JPG等轉換為 SVGMacSVG
- YUV格式到RGB格式的轉換
- heic格式轉換jpg工具——轉易俠heic轉換器
- CAD工程圖紙轉jpg格式教程
- 圖片格式轉換,JPG圖片轉換成PDF
- win10怎麼png轉jpg格式 win10系統png怎麼轉換成jpg圖片Win10
- 如何使用Mac預覽程式將png轉換為jpg格式的技巧分享Mac
- 使用IPicture介面讀取和顯示BMP,GIF,JPG,ICO,EMF,WMF影像 (轉)
- heic格式轉換jpg免費怎麼轉?轉易俠可以
- win10 png怎麼修改成jpg_win10如何把png轉換成jpgWin10
- png圖片怎麼轉換成jpg 電腦上怎麼把png格式改成jpg
- Metal實現YUV轉RGB渲染視訊
- png格式批量轉換jpg有什麼方法
- heic檔案怎麼線上轉換成jpg?
- 如何將HEIC轉換為JPG / JPEG或PNG?