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.
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.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk