青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

VC中使用IStream和GDI+在內存轉換圖片類型

首先,在StdAfx.h中靜態調用diplus.lib,即由編譯系統完成對DLL的加載,應用程序結束時卸載DLL的編碼。如下:

#ifndef ULONG_PTR

#define ULONG_PTR unsigned long*

#include "GdiPlus.h"

using namespace Gdiplus;

#pragma comment(lib, "gdiplus.lib")

#endif

  在類的頭文件中定義,以下成員變量,用來初始化GDI+的使用和結束使用。

GdiplusStartupInput m_gdiplusStartupInput;

ULONG_PTR m_gdiplusToken;

  然后在OnCreate()函數中加入初始化GDI+的函數:

GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);

  在OnDestroy()函數中加入結束GDI+使用的函數: GdiplusShutdown(m_gdiplusToken);

  接著,定義轉換函數:

BOOL MBmpToMImage(CMemFile& cbfBmp, CMemFile& cbfImage, CString strType)

  其中:

  CMemFile& cbfBmp表示原位圖文件;

  CMemFile& cbfImage表示轉換后的圖形文件;

  CString strType表示轉換的圖片類型。

  該函數中主要的處理為以下幾步:

  將原位圖文件轉換為IStream

  定義Image類實例,并使用第1步獲得的IStream初始化

  獲取轉換的圖片類型的CLSID

  將Image以轉換的圖片類型保存到IStream

  將IStream轉換為CMemFile內存文件(也可為CFile)

  詳細代碼如下:

BOOL MBmpToMImage(CMemFile& cbfBmp, CMemFile& cbfImage, CString strType)

{

 int iBmpSize = cbfBmp.GetLength();

 HGLOBAL hMemBmp = GlobalAlloc(GMEM_FIXED, iBmpSize);

 if (hMemBmp == NULL) return FALSE;

 IStream* pStmBmp = NULL;

 CreateStreamOnHGlobal(hMemBmp, FALSE, &pStmBmp);

 if (pStmBmp == NULL)

 {

  GlobalFree(hMemBmp);

  return FALSE;

 }

 BYTE* pbyBmp = (BYTE *)GlobalLock(hMemBmp);

 cbfBmp.SeekToBegin();

 cbfBmp.Read(pbyBmp, iBmpSize);

 Image* imImage = NULL;

 imImage = Image::FromStream(pStmBmp, FALSE);

 if (imImage == NULL)

 {

  GlobalUnlock(hMemBmp);

  GlobalFree(hMemBmp);

  return FALSE;

 }

 USES_CONVERSION;

 CLSID clImageClsid;

 GetImageCLSID(A2W("image/"+strType.GetBuffer(0)), &clImageClsid);

 HGLOBAL hMemImage = GlobalAlloc(GMEM_MOVEABLE, 0);

 if (hMemImage == NULL)

 {

  pStmBmp->Release();

  GlobalUnlock(hMemBmp);

  GlobalFree(hMemBmp);

  if (imImage != NULL) delete imImage;

  return FALSE;

 } 

 IStream* pStmImage = NULL;

 CreateStreamOnHGlobal(hMemImage, TRUE, &pStmImage);

 if (pStmImage == NULL)

 {

  pStmBmp->Release();

  GlobalUnlock(hMemBmp);

  GlobalFree(hMemBmp);

  GlobalFree(hMemImage);

  if (imImage != NULL) delete imImage

   return FALSE;

 }

 imImage->Save(pStmImage, &clJpgClsid);

 if (pStmImage == NULL)

 {

  pStmBmp->Release();

  pStmImage>Release();

  GlobalUnlock(hMemBmp);

  GlobalFree(hMemBmp);

  GlobalFree(hMemImage;

  if (imImage != NULL) delete imImage;

  return FALSE;

 }

 LARGE_INTEGER liBegin = {0};

 pStmImage->Seek(liBegin, STREAM_SEEK_SET, NULL);

 BYTE* pbyImage = (BYTE *)GlobalLock(hMemImage);

 cbfImage.SeekToBegin();

 cbfImage.Write(pbyImage, GlobalSize(hMemImage));

 if (imImage != NULL) delete imImage;

 pStmBmp->Release();

 pStmImage->Release();

 GlobalUnlock(hMemBmp);

 GlobalUnlock(hMemImage);

 GlobalFree(hMemBmp);

 GlobalFree(hMemImage);

 return TRUE;

}

 

posted on 2010-07-09 23:18 肥仔 閱讀(5193) 評論(0)  編輯 收藏 引用 所屬分類: MFC存檔

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区三区的| 在线视频日韩精品| 免费在线观看一区二区| 久久夜色精品国产亚洲aⅴ| 久久天堂成人| 欧美理论在线| 欧美日韩国产经典色站一区二区三区| 亚洲欧美综合另类中字| 亚洲精品在线视频| 亚洲一区中文| 亚洲欧洲日本专区| 国产精品久久久久久av福利软件| 国产精品老牛| 国语自产偷拍精品视频偷| 亚洲国产三级| 亚洲综合色视频| 久久在线免费观看视频| 亚洲精品系列| 久久久久久电影| 国产精品va在线播放我和闺蜜| 国产一区二区三区在线观看免费 | 欧美中文字幕视频在线观看| 久久久久国产精品一区二区| 亚洲国产精品嫩草影院| 国产精品99久久久久久宅男| 久热爱精品视频线路一| 国产麻豆精品视频| 一区二区三区日韩欧美精品| 久久久精品一区| 艳妇臀荡乳欲伦亚洲一区| 久久夜色精品国产欧美乱| 国产精品免费一区豆花| 亚洲精品综合在线| 老司机免费视频一区二区| 日韩视频精品在线| 99精品视频一区二区三区| 亚洲女同精品视频| 亚洲经典自拍| 老巨人导航500精品| 国产欧美日韩激情| 亚洲自拍16p| 亚洲精品一二三区| 欧美不卡在线视频| 亚洲国产高清自拍| 免费久久99精品国产| 欧美在线免费观看| 国产精品永久| 亚洲欧美一区二区三区久久 | 亚洲国产一区二区三区在线播 | 极品裸体白嫩激情啪啪国产精品| 亚洲一二三四区| 亚洲人成高清| 欧美xx视频| 亚洲国产天堂久久国产91| 久久综合久久美利坚合众国| 精品成人一区二区| 在线日韩成人| 蜜桃av一区| 久久久精品国产免费观看同学 | 欧美性片在线观看| 在线视频日韩| 在线亚洲一区二区| 欧美性视频网站| 亚洲欧美精品一区| 亚洲欧美视频一区二区三区| 国产精品高清一区二区三区| 亚洲视频中文| 亚洲特黄一级片| 国产欧美成人| 久久综合给合久久狠狠色| 久久一日本道色综合久久| 一区二区三区在线免费视频| 免费成人激情视频| 欧美高清在线视频| 亚洲综合清纯丝袜自拍| 欧美夜福利tv在线| 美女精品国产| 欧美韩日视频| 亚洲一区二区精品在线| 亚洲摸下面视频| 亚洲国产精品电影在线观看| 最近中文字幕日韩精品| 欧美午夜在线观看| 久久人人爽国产| 欧美精品二区三区四区免费看视频| 一区二区欧美视频| 久久精品导航| 国产精品99久久久久久久vr| 欧美一区二区私人影院日本| 亚洲第一精品夜夜躁人人爽| 日韩一级精品视频在线观看| 国产一区视频在线观看免费| 91久久精品www人人做人人爽| 欧美新色视频| 免费一级欧美片在线观看| 欧美日韩国产欧| 久久久亚洲国产天美传媒修理工| 欧美高清视频在线播放| 久久久久综合网| 欧美午夜在线视频| 欧美国内亚洲| 国产主播一区二区三区| 在线观看日韩www视频免费| 亚洲免费观看高清在线观看| 曰韩精品一区二区| 亚洲欧美欧美一区二区三区| 亚洲伦理网站| 久久一区欧美| 久久久欧美精品sm网站| 国产精品久99| 亚洲精选一区| 日韩视频第一页| 免费欧美高清视频| 久久免费视频在线| 国产情人节一区| 亚洲一区精品电影| 亚洲一区精彩视频| 久久青青草综合| 亚洲少妇最新在线视频| 亚洲激精日韩激精欧美精品| 国产精品99久久久久久久女警| 亚洲国产第一| 久久香蕉国产线看观看av| 久久成人18免费网站| 国产精品伦理| 亚洲色无码播放| 亚洲一区二区三区在线看| 欧美精品在线网站| 最新日韩在线视频| 亚洲精品小视频| 欧美激情bt| 亚洲欧洲一区二区三区在线观看| 亚洲韩国日本中文字幕| 另类图片综合电影| 亚洲国产精品欧美一二99| 亚洲日韩欧美一区二区在线| 欧美激情按摩在线| 亚洲剧情一区二区| 亚洲一区二区三区777| 欧美午夜精品久久久久久孕妇| 一区二区三区高清在线观看| 亚洲砖区区免费| 国产综合色在线| 久久一区二区三区av| 亚洲国产mv| 一区二区三区 在线观看视| 欧美日韩综合一区| 亚洲综合好骚| 免费试看一区| 亚洲一区二区三区在线播放| 国产精品外国| 久久精品人人做人人综合| 欧美 日韩 国产 一区| 亚洲伦理久久| 国产精品一区免费观看| 欧美一区免费视频| 免费欧美日韩国产三级电影| 亚洲乱码国产乱码精品精天堂| 亚洲一区二区视频| 国产精品亚洲不卡a| 久久久精品动漫| 日韩午夜激情av| 久久精品99无色码中文字幕| 亚洲电影观看| 国产精品扒开腿做爽爽爽视频| 欧美一区激情| 9人人澡人人爽人人精品| 久久久精品免费视频| 亚洲最新色图| 伊人伊人伊人久久| 国产精品久久7| 毛片精品免费在线观看| 亚洲天天影视| 最新亚洲一区| 老妇喷水一区二区三区| 亚洲永久精品国产| 亚洲国产日韩欧美一区二区三区| 欧美天堂亚洲电影院在线观看| 久久精品日韩欧美| 一区二区三区四区五区精品| 欧美aⅴ99久久黑人专区| 亚洲制服欧美中文字幕中文字幕| 在线观看亚洲视频啊啊啊啊| 国产精品麻豆欧美日韩ww| 裸体一区二区三区| 亚洲国产成人tv| 久久这里只有| 久久激情五月激情| 久久国产毛片| 亚洲欧洲另类国产综合| 亚洲欧美欧美一区二区三区| 亚洲高清不卡一区| 国产欧美亚洲日本| 欧美视频中文字幕| 欧美激情网站在线观看| 久久久国产精品一区二区中文| 亚洲永久在线观看| 亚洲午夜电影在线观看| 亚洲免费激情| 亚洲精品一区久久久久久|