六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

常用的圖象處理函數(shù)的整理

[摘要]鄧振波 在Visual C++中,對圖象操作的功能所能提供的函數(shù)是比較弱的,我在實(shí)踐中收集掌握了一些圖象出來的方法與技巧,總結(jié)出一個(gè)COperateBitmap類,可以實(shí)現(xiàn)方便的對圖象的讀取、保存...
鄧振波

  在Visual C++中,對圖象操作的功能所能提供的函數(shù)是比較弱的,我在實(shí)踐中收集掌握了一些圖象出來的方法與技巧,總結(jié)出一個(gè)COperateBitmap類,可以實(shí)現(xiàn)方便的對圖象的讀取、保存、剪貼板操作、DIB和DDB的轉(zhuǎn)換,下面列出頭文件,工程文件我把它寫成了一個(gè)MFC擴(kuò)展DLL。可以點(diǎn)擊 這里 下載。
  1、方便從磁盤裝載各種圖形格式(JPG、BMP、Gif等)文件,并得到圖象大小和相應(yīng)位圖的句柄,從而可以方便的操作各種圖像格式, 無需了解各種圖象的格式,以及相應(yīng)的壓縮解壓算法,得到的位圖句柄, 可以方便的在VC中進(jìn)行各種操作。
  2、把位圖畫到DC上,方便的把位圖畫到設(shè)備DC上,無需復(fù)雜的SelectObject等
  3、通過位圖建立區(qū)域,可以生成各種形狀的窗口
  4、方便的兩個(gè)位圖復(fù)制操作,支持部分區(qū)域拷貝
  5、不用StretchBlt函數(shù),直接改變位圖的大小,StretchBlt只改變顯示的大小,實(shí)際的數(shù)據(jù)并沒有發(fā)生變化,本類中的ScaleBitmap可以直接改變實(shí)際數(shù)據(jù)的大小,這將獲得一些有用的功能
  6、DDB與DIB的轉(zhuǎn)換
  7、保存位圖到文件,保存為JPEG文件

  這個(gè)類沒有作過多的優(yōu)化與功能擴(kuò)充,如果要寫專業(yè)的圖象操作程序,本類可能不適用。

class COperateBitmap
{
public:
BOOL CopyWindowToClipboard(CWnd* pWnd);
//剪貼板操作
BOOL CopyDIBToClipboard(const CWnd* pWnd,HANDLE hDib,CPalette* pPal);
BOOL CopyBitmapToClipboard(const CWnd* pWnd,CBitmap& bitmap,CPalette* pPal);
//建立調(diào)色版,根據(jù)DIB
BOOL CreateDIBPalette(HANDLE hDIB, CPalette* pPal);
//DDB和DIB的轉(zhuǎn)換
HANDLE DDBToDIB(HBITMAP hBmp, DWORD dwCompression, CPalette *pPal);
HBITMAP DIBToDDB( HANDLE hDIB );
HANDLE DDBToDIB( CBitmap& bitmap, DWORD dwCompression, CPalette* pPal );
int SaveBmp(HANDLE hDib,LPSTR filename);
//從文件裝載各種圖形格式(JPG、BMP、Gif等),并得到大小和位圖的句柄
void LoadPictureFromFile(HDC hdc, LPCTSTR szFile, CBitmap* pBitmap, CSize& mSize);
//把位圖畫到DC上
void DrawBitmap(CDC* dc, HBITMAP hbmp, RECT r, BOOL Stretch);
//建立區(qū)域
BOOL CreateRegion (RECT r, CRgn *pRgn, CBitmap *pBitmap, COLORREF keycol);
//兩個(gè)位圖對拷
void CopyBitmap(CDC* dc, CBitmap& mRes, const CBitmap& hbmp, RECT r);
//由位圖到區(qū)域
HRGN BitmapToRegion (HBITMAP hBmp, COLORREF cTransparentColor = 0, COLORREF cTolerance = 0x101010);
COperateBitmap();
//縮放圖象主函數(shù),由Ivaylo Byalko編寫
HBITMAP ScaleBitmap(HBITMAP hBmp, WORD wNewWidth, WORD wNewHeight);
//保存DIB為JPEG文件
BOOL JpegFromDib(HANDLE hDib, //Handle to DIB
int nQuality, //JPEG quality (0-100)
CString strJpegFileName, //Pathname to target jpeg file
CString* strMsg); //Error msg to return
virtual ~COperateBitmap();
protected:
//下面三個(gè)縮放圖象輔助函數(shù),由Ivaylo Byalko編寫
BITMAPINFO *PrepareRGBBitmapInfo(WORD wWidth, WORD wHeight);
void ShrinkData(BYTE *pInBuff, WORD wWidth, WORD wHeight,
BYTE *pOutBuff, WORD wNewWidth, WORD wNewHeight);
void EnlargeData(BYTE *pInBuff, WORD wWidth, WORD wHeight,
BYTE *pOutBuff, WORD wNewWidth, WORD wNewHeight);
WORD DIBNumColors(LPSTR lpbi);
WORD PaletteSize(LPSTR lpbi);
float *CreateCoeff(int nLen, int nNewLen, BOOL bShrink);
//操作JPEG文件
BOOL BuildSamps(HANDLE hDib,
int nSampsPerRow,
struct jpeg_compress_struct cinfo,
JSAMPARRAY jsmpArray,
CString* pcsMsg);
RGBQUAD QuadFromWord(WORD b16);
BOOL DibToSamps(HANDLE hDib,
int nSampsPerRow,
struct jpeg_compress_struct cinfo,
JSAMPARRAY jsmpPixels,
CString* pcsMsg);
};


主站蜘蛛池模板: 有码中文字幕在线观看 | 泰剧不期而爱第三季免费全集观看 | 欧美在线伊人 | 欧美特级| 一级做a爰性视频 | 午夜啪啪网站 | 日韩欧美二区在线观看 | 亚洲一区二区在线成人 | 日本免费一区二区三区看片 | 视频一区二区不卡 | 日韩免费中文字幕 | 无码精品日韩中文字幕 | 亚洲 另类色区 欧美日韩 | 日韩国产成人资源精品视频 | 视频一区二区三区欧美日韩 | 天天射天天干天天色 | 青青青国产视频 | 欧美性黑人极品hd网站 | 色先锋影音资源 | 伊人啪啪 | 在线免费观看韩国a视频 | 伊人影院综合在线 | 日日做日日摸夜夜爽 | 四虎国产精品永久在线看 | 七月丁香八月婷婷综合激情 | 亚洲欧美自拍另类图片色 | 午夜视频hd | 日日摸夜夜添夜夜爽免费视频 | 亚洲视频三区 | 欧美一卡二卡三卡四卡乱码 | 影音色资源 | 中文字幕第一页亚洲 | 午夜视频黄色 | 日日摸夜夜摸人人嗷嗷叫 | 日韩免费在线视频观看 | 特级黄| 四虎在线影视在线影库 | 丝袜美腿中文字幕 | 午夜久久网 | 色伊人影院 | 性国产精品|