Bagikan melalui


Operasi Grafis (C++/CLI)

Menunjukkan manipulasi gambar menggunakan Windows SDK.

Topik berikut menunjukkan penggunaan System.Drawing.Image kelas untuk melakukan manipulasi gambar.

Tampilkan Gambar dengan .NET Framework

Contoh kode berikut memodifikasi penanganan aktivitas OnPaint untuk mengambil penunjuk ke Graphics objek untuk formulir utama. Fungsi OnPaint ini ditujukan untuk aplikasi Formulir Windows, kemungkinan besar dibuat dengan wizard aplikasi Visual Studio.

Gambar diwakili oleh Image kelas . Data gambar dimuat dari file .jpg menggunakan metode .System.Drawing.Image.FromFile Sebelum gambar digambar ke formulir, formulir diubah ukurannya untuk mengakomodasi gambar. Gambar gambar dilakukan dengan System.Drawing.Graphics.DrawImage metode .

Kelas Graphics dan Image keduanya berada di System.Drawing namespace layanan.

Contoh

#using <system.drawing.dll>

using namespace System;
using namespace System::Drawing;

protected:
virtual Void Form1::OnPaint(PaintEventArgs^ pe) override
{
    Graphics^ g = pe->Graphics;
    Image^ image = Image::FromFile("SampleImage.jpg");
    Form::ClientSize = image->Size;
    g->DrawImage( image, 0, 0, image->Size.Width, image->Size.Height );
}

Gambar Bentuk dengan .NET Framework

Contoh kode berikut menggunakan Graphics kelas untuk memodifikasi OnPaint penanganan aktivitas untuk mengambil penunjuk ke Graphics objek untuk formulir utama. Pointer ini kemudian digunakan untuk mengatur warna latar belakang formulir dan menggambar garis dan busur menggunakan System.Drawing.Graphics.DrawLine metode dan DrawArc .

Contoh

#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
// ...
protected:
virtual Void Form1::OnPaint(PaintEventArgs^ pe ) override
{
   Graphics^ g = pe->Graphics;
   g->Clear(Color::AntiqueWhite);

   Rectangle rect = Form::ClientRectangle;
   Rectangle smallRect;
   smallRect.X = rect.X + rect.Width / 4;
   smallRect.Y = rect.Y + rect.Height / 4;
   smallRect.Width = rect.Width / 2;
   smallRect.Height = rect.Height / 2;

   Pen^ redPen = gcnew Pen(Color::Red);
   redPen->Width = 4;
   g->DrawLine(redPen, 0, 0, rect.Width, rect.Height);

   Pen^ bluePen = gcnew Pen(Color::Blue);
   bluePen->Width = 10;
   g->DrawArc( bluePen, smallRect, 90, 270 );
}

Putar Gambar dengan .NET Framework

Contoh kode berikut menunjukkan penggunaan System.Drawing.Image kelas untuk memuat gambar dari disk, memutarnya 90 derajat, dan menyimpannya sebagai file .jpg baru.

Contoh

#using <system.drawing.dll>

using namespace System;
using namespace System::Drawing;

int main()
{
   Image^ image = Image::FromFile("SampleImage.jpg");
   image->RotateFlip( RotateFlipType::Rotate90FlipNone );
   image->Save("SampleImage_rotated.jpg");
   return 0;
}

Mengonversi Format File Gambar dengan .NET Framework

Contoh kode berikut menunjukkan System.Drawing.Image kelas dan enumerasi yang System.Drawing.Imaging.ImageFormat digunakan untuk mengonversi dan menyimpan file gambar. Kode berikut memuat gambar dari file .jpg lalu menyimpannya dalam format file .gif dan .bmp.

Contoh

#using <system.drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;

int main()
{
   Image^ image = Image::FromFile("SampleImage.jpg");
   image->Save("SampleImage.png", ImageFormat::Png);
   image->Save("SampleImage.bmp", ImageFormat::Bmp);

   return 0;
}

Memulai Pemrograman Grafis

Tentang GDI+ Kode Terkelola

Lihat juga

Pemrograman .NET dengan C++/CLI (Visual C++)

System.Drawing