Gambar, Posisi, dan Kloning Gambar

Anda dapat menggunakan kelas Gambar untuk memuat dan menampilkan gambar raster (bitmap) dan gambar vektor (metafiles). Untuk menampilkan gambar, Anda memerlukan objek Grafis dan objek Gambar . Objek Grafis menyediakan metode Graphics::D rawImage , yang menerima alamat objek Gambar sebagai argumen.

Contoh berikut membuat objek Gambar dari file Climber.jpg lalu menampilkan gambar. Titik tujuan untuk sudut kiri atas gambar, (10, 10), ditentukan dalam parameter kedua dan ketiga dari metode Graphics::D rawImage .

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

Kode sebelumnya, bersama dengan file tertentu, Climber.jpg, menghasilkan output berikut.

cuplikan layar jendela yang berisi foto

Anda dapat membuat objek Gambar dari berbagai format file grafis: BMP, GIF, JPEG, Exif, PNG, TIFF, WMF, EMF, dan ICON.

Contoh berikut membuat objek Gambar dari berbagai jenis file lalu menampilkan gambar.

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);

Kelas Gambar menyediakan metode Image::Clone yang dapat Anda gunakan untuk membuat salinan objek Gambar, Metafile, atau Bitmap yang ada. Metode Kloning kelebihan beban di kelas Bitmap , dan salah satu variasi memiliki parameter persegi panjang sumber yang dapat Anda gunakan untuk menentukan bagian gambar asli yang ingin Anda salin. Contoh berikut membuat objek Bitmap dengan mengkloning bagian atas objek Bitmap yang ada. Kemudian kedua gambar ditampilkan.

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);

Kode sebelumnya, bersama dengan file tertentu, Spiral.png, menghasilkan output berikut.

ilustrasi gambar, diikuti oleh bagian atas gambar orignal