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

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>
            欧美成人午夜激情视频| 免费成人在线观看视频| 亚洲国产成人午夜在线一区 | 美国成人毛片| 亚洲午夜在线| 久久精品人人| 久久精品视频网| 国产精品进线69影院| 最新亚洲电影| 亚洲国产欧美一区二区三区久久| 亚洲欧美在线磁力| 午夜视频一区二区| 欧美日韩在线精品| 亚洲一区二区三区午夜| 亚洲精选一区| 欧美成人首页| 亚洲日本精品国产第一区| 在线播放亚洲| 免费不卡视频| 狼人天天伊人久久| 韩日午夜在线资源一区二区| 欧美伊人久久久久久午夜久久久久 | aa亚洲婷婷| 国产精品久久久久久久久久妞妞| 亚洲视频一区在线| 欧美亚洲在线播放| 国外成人在线| 可以看av的网站久久看| 欧美成人高清| 中日韩高清电影网| 国产精品人人爽人人做我的可爱| 午夜宅男久久久| 久久久久一区二区| 亚洲国产精品一区二区www| 久久在线免费观看视频| 亚洲欧洲一区二区在线播放| 一本在线高清不卡dvd | 狠狠色综合网| 欧美日韩视频专区在线播放| 亚洲专区在线| 亚洲国产另类 国产精品国产免费| 亚洲视频一区二区在线观看 | 美女黄网久久| 亚洲无线观看| 91久久久久久| 久久久青草婷婷精品综合日韩| 日韩视频中文字幕| 国自产拍偷拍福利精品免费一| 欧美1区2区3区| 欧美一区视频| 亚洲素人一区二区| 女人香蕉久久**毛片精品| 宅男噜噜噜66国产日韩在线观看| 激情综合久久| 国产色产综合产在线视频| 欧美日韩免费精品| 免费在线欧美视频| 久久精品成人| 性18欧美另类| 亚洲一级免费视频| 99精品热6080yy久久 | 久久偷看各类wc女厕嘘嘘偷窃| 免费观看日韩av| 欧美中文字幕精品| 亚洲美女av电影| 亚洲国产精品尤物yw在线观看| 另类图片综合电影| 久久乐国产精品| 久久精品国产久精国产爱| 在线亚洲激情| 亚洲一区二区三区视频| 亚洲精品久久| aa日韩免费精品视频一| 亚洲色在线视频| 亚洲永久免费av| 香蕉久久精品日日躁夜夜躁| 久久成人免费电影| 久久国产精品色婷婷| 久久人人97超碰国产公开结果| 美脚丝袜一区二区三区在线观看| 免费观看久久久4p| 最新高清无码专区| 中日韩在线视频| 亚洲综合好骚| 久久久久久伊人| 欧美日韩天堂| 伊大人香蕉综合8在线视| 一二美女精品欧洲| 亚洲综合导航| 免费在线欧美黄色| 香蕉久久精品日日躁夜夜躁| 欧美在线欧美在线| 欧美日韩aaaaa| 国内精品福利| 一区二区三区波多野结衣在线观看| 国产精品亚洲一区| …久久精品99久久香蕉国产| 免费黄网站欧美| 免费观看不卡av| 国产精品午夜电影| 亚洲女ⅴideoshd黑人| 久久久久久久97| 欧美一区二区三区视频免费| 麻豆成人在线| 久久精品免视看| 另类欧美日韩国产在线| 亚洲国产美女精品久久久久∴| 久久久水蜜桃av免费网站| 亚洲电影第1页| 久久高清国产| 极品尤物久久久av免费看| 午夜久久福利| 亚洲一区二区影院| 国产主播一区二区三区| 裸体丰满少妇做受久久99精品| 香蕉成人伊视频在线观看 | 亚洲黄色高清| 久久久青草青青国产亚洲免观| 狠狠色狠狠色综合日日tαg| 欧美承认网站| 欧美高清视频一二三区| 一区二区三区日韩欧美| 国产精品99久久不卡二区| 国产欧美一区视频| 久久久视频精品| 久久亚洲综合网| 亚洲精品韩国| 午夜精品久久久久99热蜜桃导演| 国内精品视频久久| 欧美国产日产韩国视频| 欧美日韩亚洲一区二区三区| 性亚洲最疯狂xxxx高清| 欧美在线观看一二区| 亚洲高清免费视频| 亚洲精品一区二区三区福利| 国产精品成人观看视频国产奇米| 亚洲欧美另类久久久精品2019| 久久av一区二区三区漫画| 欧美亚洲免费高清在线观看| 亚洲女人天堂成人av在线| 亚洲高清一二三区| 欧美高清视频一区| 欧美三级不卡| 亚洲国产成人精品女人久久久| 国产一区二区0| 欧美在线观看一区二区| 亚洲欧美日韩精品一区二区| 欧美精品久久久久久| 欧美大片一区二区三区| 国产在线精品成人一区二区三区| 一区二区电影免费观看| 一本色道久久加勒比88综合| 免费不卡在线观看| 欧美aa国产视频| 亚洲人成网站影音先锋播放| 久久久国际精品| 久久青草福利网站| 欧美日韩一二三四五区| 模特精品在线| 国产精品一区二区在线| 日韩视频久久| 亚洲国产一区二区三区高清| 亚洲日本免费| 亚洲美女视频网| 午夜精品久久久久久久99黑人| 亚洲激情视频| 麻豆国产精品va在线观看不卡| 久久久一区二区| 国产真实精品久久二三区| 亚洲视频精品| 亚洲在线成人精品| 欧美日韩一区二区在线 | 免播放器亚洲| 在线观看91久久久久久| 亚洲欧美电影在线观看| 一本到12不卡视频在线dvd| 久久免费黄色| 麻豆国产精品一区二区三区| 狠狠色狠色综合曰曰| 久久精品日产第一区二区| 久久久久久综合网天天| 黄色成人在线| 欧美激情国产日韩精品一区18| 久久最新视频| 亚洲精品孕妇| 国产精品推荐精品| 久久久久se| 夜夜爽夜夜爽精品视频| 久久久久久**毛片大全| 亚洲国语精品自产拍在线观看| 欧美精品一区二区三区很污很色的| 噜噜噜噜噜久久久久久91| 国产精品亚洲综合| 久久久视频精品| 亚洲国产婷婷| 9人人澡人人爽人人精品| 欧美日韩国产在线播放| 亚洲在线观看免费视频| 久久久九九九九| 亚洲日本欧美|