Grafis::TransformPoints(CoordinateSpace,CoordinateSpace,PointF*,INT) metode (gdiplusgraphics.h)

Metode Graphics::TransformPoints mengonversi array titik dari satu ruang koordinat ke ruang koordinat lainnya. Konversi didasarkan pada dunia saat ini dan transformasi halaman dari objek Grafis ini.

Sintaks

Status TransformPoints(
  [in]      CoordinateSpace destSpace,
  [in]      CoordinateSpace srcSpace,
  [in, out] PointF          *pts,
  [in]      INT             count
);

Parameter

[in] destSpace

Jenis: CoordinateSpace

Elemen enumerasi CoordinateSpace yang menentukan ruang koordinat tujuan.

[in] srcSpace

Jenis: CoordinateSpace

Elemen enumerasi CoordinateSpace yang menentukan ruang koordinat sumber.

[in, out] pts

Jenis: Titik*

Penunjuk ke array yang, pada input, menahan titik yang akan dikonversi dan, pada output, menyimpan titik yang dikonversi.

[in] count

Jenis: INT

Bilangan bulat yang menentukan jumlah elemen dalam array pts .

Menampilkan nilai

Jenis: Status

Jika metode berhasil, metode mengembalikan Ok, yang merupakan elemen dari enumerasi Status .

Jika metode gagal, metode mengembalikan salah satu elemen lain dari enumerasi Status .

Keterangan

Transformasi dunia mengonversi titik dari ruang koordinat dunia ke ruang koordinat halaman. Transformasi halaman mengonversi titik dari ruang koordinat halaman ke ruang koordinat perangkat. Untuk informasi selengkapnya tentang ruang koordinat, lihat Jenis Sistem Koordinat.

Contoh

Contoh berikut membuat objek Grafis dan mengatur transformasi dunianya ke terjemahan 40 unit ke kanan dan 30 unit ke bawah. Kemudian kode membuat array titik dan meneruskan alamat array tersebut ke metode Graphics::TransformPoints dari objek Grafis yang sama. Titik-titik dalam array diubah oleh transformasi dunia objek Grafis . Kode memanggil metode Graphics::D rawLine dua kali: sekali untuk menghubungkan dua titik sebelum transformasi dan sekali untuk menghubungkan dua titik setelah transformasi.

VOID Example_TransformPoints(HDC hdc)
{
   Graphics graphics(hdc);
   Pen pen(Color(255, 0, 0, 255));

   // Create an array of two Point objects.
   Point points[2] = {Point(0, 0), Point(100, 50)};

   // Draw a line that connects the two points.
   // No transformation has been performed yet.
   graphics.DrawLine(&pen, points[0], points[1]);

   // Set the world transformation of the Graphics object.
   graphics.TranslateTransform(40.0f, 30.0f);

   // Transform the points in the array from world to page coordinates.
   graphics.TransformPoints(
      CoordinateSpacePage, 
      CoordinateSpaceWorld, 
      points, 
      2);

   // It is the world transformation that takes points from world
   // space to page space. Because the world transformation is a
   // translation 40 to the right and 30 down, the
   // points in the array are now (40, 30) and (140, 80).

   // Draw a line that connects the transformed points.
   graphics.ResetTransform();
   graphics.DrawLine(&pen, points[0], points[1]);
}

Persyaratan

   
Klien minimum yang didukung Windows XP, Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header gdiplusgraphics.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

Grafik

Grafik::GetTransform

Grafik::MultiplyTransform

Grafis::ResetTransform

Grafik::RotateTransform

Grafis::ScaleTransform

Grafik::SetTransform

Grafik::TranslateTransform

Matrix

MatrixOrder

Transformasi

Jenis Sistem Koordinat