次の方法で共有


イメージの描画、配置、および複製

Image クラスを使用して、ラスター イメージ (ビットマップ) とベクター イメージ (メタファイル) を読み込んで表示できます。 イメージを表示するには、Graphics オブジェクトと Image オブジェクトが必要です。 Graphics オブジェクトは、引数として Image オブジェクトのアドレスを受け取る Graphics::DrawImage メソッドを提供します。

次の例では、ファイル Climber.jpg から Image オブジェクトを作成し、イメージを表示します。 イメージの左上隅 (10, 10) の宛先ポイントは、Graphics::D rawImage メソッドの 2 番目と 3 番目のパラメーターで指定されます。

Image myImage(L"Climber.jpg");
myGraphics.DrawImage(&myImage, 10, 10);

前述のコードと特定のファイル Climber.jpgにより、次の出力が生成されました。

写真の を含むウィンドウのスクリーン ショット

画像 オブジェクトは、BMP、GIF、JPEG、Exif、PNG、TIFF、WMF、EMF、ICON など、さまざまなグラフィックス ファイル形式から作成できます。

次の例では、さまざまな種類のファイルから Imageオブジェクト構築し、イメージを表示します。

Image myBMP(L"SpaceCadet.bmp");
Image myEMF(L"Metafile1.emf");
Image myGIF(L"Soda.gif");
Image myJPEG(L"Mango.jpg");
Image myPNG(L"Flowers.png");
Image myTIFF(L"MS.tif");

myGraphics.DrawImage(&myBMP, 10, 10);
myGraphics.DrawImage(&myEMF, 220, 10);
myGraphics.DrawImage(&myGIF, 320, 10);
myGraphics.DrawImage(&myJPEG, 380, 10);
myGraphics.DrawImage(&myPNG, 150, 200);
myGraphics.DrawImage(&myTIFF, 300, 200);

Image クラスには、既存の ImageMetafile、または Bitmapオブジェクトのコピーを作成するために使用できる Image::Clone メソッド用意されています。 Clone メソッドは、Bitmap クラスでオーバーロードされ、バリエーションの 1 つに、コピーする元のイメージの部分を指定するために使用できるソース四角形パラメーターがあります。 次の例では、既存の Bitmap オブジェクトの上半分を複製して、Bitmap オブジェクトを作成します。 その後、両方の画像が表示されます。

Bitmap* originalBitmap = new Bitmap(L"Spiral.png");
RectF sourceRect(
   0.0f,
   0.0f, 
   (REAL)(originalBitmap->GetWidth()), 
   (REAL)(originalBitmap->GetHeight())/2.0f);

Bitmap* secondBitmap = originalBitmap->Clone(sourceRect, PixelFormatDontCare);

myGraphics.DrawImage(originalBitmap, 10, 10);
myGraphics.DrawImage(secondBitmap, 100, 10);

上記のコードと特定のファイル Spiral.pngによって、次の出力が生成されました。

画像のイラストと、その後にオリジナル画像の上半分が続く