CImage クラス

CImage は、BMP、GIF、JPEG、PNG (Portable Network Graphics (PNG) の形式のイメージの読み込みや保存などが強化されたビットマップ サポートを提供します。

重要 : 重要

このクラスおよびメンバーは、Windows のランタイムで実行するアプリケーションで使用することはできません。

class CImage

メンバー

bwea7by5.collapse_all(ja-jp,VS.110).gifパブリック コンストラクター

名前

説明

CImage::CImage

コンストラクターです。

bwea7by5.collapse_all(ja-jp,VS.110).gifパブリック メソッド

名前

説明

CImage::AlphaBlend

透明または半透明のピクセルがあるビットマップを表示します。

CImage::Attach

CImage のオブジェクトに HBITMAP をアタッチします。非 DIB セクションのビットマップまたは DIB セクションのビットマップを使用できます。

CImage::BitBlt

元のデバイス コンテキストからこの現在のデバイス コンテキストにビットマップをコピーします。

CImage::Create

DIB セクションのビットマップを作成し、CImage の前に構築されたオブジェクトにアタッチします。

CImage::CreateEx

CImage の前に構築されたオブジェクトにビットマップ (DIB セクションの追加のパラメーターとともにアタッチし、を作成します。

CImage::Destroy

CImage のオブジェクトからビットマップをデタッチし、ビットマップを破棄します。

CImage::Detach

CImage のオブジェクトからビットマップをデタッチします。

CImage::Draw

コピー先の四角形に元の四角形からビットマップをコピーします。[描画] は伸縮したり、描画先の四角形の寸法に収まるように必要に応じてビットマップを圧縮し、アルファ ブレンドと透明な色を処理します。

CImage::GetBits

ビットマップの実際のピクセル値へのポインターを取得します。

CImage::GetBPP

ピクセルを取得します。

CImage::GetColorTable

色テーブルのエントリの範囲から赤、緑、青 (RGB) のカラー値を取得します。

CImage::GetDC

現在のビットマップが選択されたデバイス コンテキストを取得します。

CImage::GetExporterFilterString

使用可能なイメージ形式と説明を検索します。

CImage::GetHeight

ピクセルの現在のイメージの高さを取得します。

CImage::GetImporterFilterString

使用可能なイメージ形式と説明を検索します。

CImage::GetMaxColorTableEntries

色テーブルのエントリの最大数を取得します。

CImage::GetPitch

バイトの現在のイメージの距離を取得します。

CImage::GetPixel

xy.で指定したピクセルの色を取得します。

CImage::GetPixelAddress

特定のピクセルのアドレスを取得します。

CImage::GetTransparentColor

色テーブルの透明色の位置を取得します。

CImage::GetWidth

ピクセルの現在のイメージの幅を取得します。

CImage::IsDIBSection

アタッチされているビットマップの DIB セクションであるかどうかを判定します。

CImage::IsIndexed

ビットマップの色がパレット インデックスにマップされていることを示します。

CImage::IsNull

ソース ビットマップが現在読み込まれている示します。

CImage::IsTransparencySupported

アプリケーションが透明なビットマップをサポートし、Windows 2000 以降のコンパイルするかどうか。

CImage::Load

指定したファイルからイメージを読み込みます。

CImage::LoadFromResource

指定したリソースからイメージを読み込みます。

CImage::MaskBlt

指定したマスクとラスター オペレーションを使用して元とコピー先のビットマップの色データを結合します。

CImage::PlgBlt

コピー先のデバイス コンテキストの平行四辺形に元のデバイス コンテキストで四角形のビット ブロック転送を行います。

CImage::ReleaseDC

CImage::GetDCで取得されたデバイス コンテキストを解放します。

CImage::ReleaseGDIPlus

GDI+ によって使用されるリソースを解放します。CImage のグローバル オブジェクトで作成されたリソースを解放するために呼び出す必要があります。

CImage::Save

イメージをとして型指定されます。上書き保存 は、イメージのオプションを指定することはできません。

CImage::SetColorTable

DIB セクションのカラー テーブルのエントリの範囲の赤、緑、青) の RGB カラー値を設定します。

CImage::SetPixel

指定した色に指定した座標をピクセル単位で設定します。

CImage::SetPixelIndexed

パレットで色の指定したインデックスに指定した座標をピクセル単位で設定します。

CImage::SetPixelRGB

(RGB) で指定された赤、緑、青の値に指定した座標をピクセル単位で設定します。

CImage::SetTransparentColor

色のインデックスを扱う透過的として設定します。パレットの 1 色のみ透過的になります。

CImage::StretchBlt

ビットマップを描画先の四角形に合うように伸縮または圧縮する先の四角形と元の四角形からビットマップを必要に応じてコピーします。

CImage::TransparentBlt

元のデバイス コンテキストからこの現在のデバイス コンテキストに透明な色のビットマップをコピーします。

bwea7by5.collapse_all(ja-jp,VS.110).gifパブリック演算子

名前

説明

CImage::operator HBITMAP

オブジェクトにアタッチされている CImage のウィンドウ ハンドルを返します。

解説

CImage は、デバイスに依存しないビットマップの (DIB) のセクションまたは、ではないビットマップを使用します; ただし、DIB セクションだけで [作成]CImage::Load を使用できます。[アタッチ]を使用して CImage のオブジェクトに、DIB セクションのビットマップをアタッチできますが、その場合は DIB セクションのビットマップだけをサポートする CImage の次のメソッドを使用できません:

アタッチされているビットマップの DIB セクションであるかどうかを確認するには、IsDibSection**.**を呼び出します。

[!メモ]

Visual Studio .NET 2003 のNote は、このクラス CImage のオブジェクトの数を作成しておきます。カウントが 0 に移動するたびに GDI+ によって使用されるリソースを解放するための関数 GdiplusShutdown は自動的に呼び出されます。これは、DLL によって直接または間接的に作成される CImage のオブジェクトは、常に適切に破棄されていること、および GdiplusShutdownDllMainから呼び出されていないことを確認します。

[!メモ]

DLL の CImage のグローバル オブジェクトはお勧めしません。DLL で CImage のグローバル オブジェクトを使用する必要がある場合、明示的に GDI+ が使用していたリソースを解放する呼び出し CImage::ReleaseGDIPlus

CImage は、新しい CDCに選択することはできません。CImage、イメージの独自の HDC を作成します。HBITMAP が 1 HDC に一度に選択できないため CImage に関連付けられている HBITMAP は別の HDCに選択することはできません。CDCが必要な場合は、HDCCImage から取得し、CDC::FromHandleにそれを付けます。

使用例

// Get a CDC for the image
CDC* pDC = CDC::FromHandle(m_myImage.GetDC());

// Use pDC here
pDC->Rectangle(0, 40, 100, 50);

m_myImage.ReleaseDC();

MFC プロジェクトに CImage を使用すると、プロジェクトのメンバー関数が CBitmap のオブジェクトへのポインターを要求されます。このような関数に CImage を、CMenu::AppendMenu、使用 CBitmap::FromHandleを使用して、の CImageHBITMAPを渡し、返された **CBitmap***を使用する場合は。

void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);

   CBitmap* pBitmap = CBitmap::FromHandle(m_myImage);
   m_pmenuPop->AppendMenu(0, ID_BMPCOMMAND, pBitmap);
   ClientToScreen(&point);
   m_pmenuPop->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x, 
      point.y, this);
}

CImageによって、DIB セクションの実際のビットにアクセスできます。CImage のオブジェクトを使用して、どこでも、以前に Win32 HBITMAP かの DIB セクションを使用します。

[!メモ]

CImage の次のメソッドの使用に関する制限事項があります:

メソッド

制限

PlgBlt

Windows NT 4.0 以降だけを使用します。/98 Windows 95 以降で実行されるアプリケーションに Per Request Impersonation Does Not Work

MaskBlt

Windows NT 4.0 以降だけを使用します。/98 Windows 95 以降で実行されるアプリケーションに Per Request Impersonation Does Not Work

AlphaBlend

Windows 2000、Windows 98 以降のシステムのみを使用します。

TransparentBlt

Windows 2000、Windows 98 以降のシステムのみを使用します。

[描画]

Windows 2000、Windows 98 以降のシステムのみの透過性をサポートします。

これらのメソッドの制限に関する詳細については 以前のオペレーティング システムに CImage の制限 を参照してください。

MFC または ATL の CImage を使用できます。

[!メモ]

CImageを使用してプロジェクトを作成すると、atlimage.hをインクルードする前に CString を定義する必要があります。プロジェクトが MFC なしでは、ATL を使用している場合は、atlimage.hをインクルードする前に atlstr.h を含めます。これは MFC サポートを使用して ATL プロジェクトを使用している場合は、プロジェクトが MFC (または)、atlimage.hをインクルードする前に afxstr.h を含めます。

同様に atlimpl.cppをインクルードする前に、atlimage.h を含める必要があります。これを簡単に実現するには、の stdafx.hに atlimage.h を含めます。

必要条件

Header: atlimage.h

参照

関連項目

Device-Independent Bitmaps

CreateDIBSection

概念

MMXSwarm サンプル

SimpleImage サンプル

その他の技術情報

ATL COM デスクトップ コンポーネント