GraphicsPath::GetBounds(Rect*,constMatrix*,constPen*) metode (gdipluspath.h)

Metode GraphicsPath::GetBounds mendapatkan persegi panjang pembatas untuk jalur ini.

Sintaks

Status GetBounds(
  [out] Rect         *bounds,
  [in]  const Matrix *matrix,
  [in]  const Pen    *pen
);

Parameter

[out] bounds

Jenis: Rect*

Penunjuk ke objek Rect yang menerima persegi panjang pembatas.

[in] matrix

Jenis: const Matrix*

Pilihan. Penunjuk ke objek Matriks yang menentukan transformasi yang akan diterapkan ke jalur ini sebelum persegi panjang pembatas dihitung. Jalur ini tidak diubah secara permanen; transformasi hanya digunakan selama proses penghitungan persegi panjang pembatas. Nilai defaultnya adalah NULL.

[in] pen

Jenis: const Pen*

Opsional. Penunjuk ke objek Pena yang memengaruhi ukuran persegi panjang pembatas. Persegi panjang pembatas yang diterima dalam batas akan cukup besar untuk mengapit jalur ini ketika jalur digambar dengan pena yang ditentukan oleh parameter ini. Ini memastikan bahwa jalur diapit oleh persegi panjang pembatas bahkan jika jalur digambar dengan pena lebar. Nilai defaultnya adalah NULL.

Nilai kembali

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

Persegi panjang yang dikembalikan oleh metode ini mungkin lebih besar dari yang diperlukan untuk mengapit jalur seperti yang digambar oleh pena yang ditentukan. Persegi panjang dihitung untuk memungkinkan batas mil pena pada sudut tajam dan untuk memungkinkan tutup akhir pena.

Contoh

Contoh berikut membuat jalur yang memiliki satu kurva dan satu elips. Kode ini menggambar jalan dengan pena kuning tebal dan pena hitam tipis. Metode GraphicsPath::GetBounds menerima alamat pena kuning tebal dan menghitung persegi panjang pembatas untuk jalur tersebut. Kemudian kode menggambar persegi panjang pembatas.

VOID GetBoundsExample(HDC hdc)
{
   Graphics graphics(hdc);
   Pen blackPen(Color(255, 0, 0, 0), 1);
   Pen yellowPen(Color(255, 255, 255, 0), 10);
   Pen redPen(Color(255, 255, 0, 0), 1);

   Point pts[] = {Point(120,120), 
                  Point(200,130), 
                  Point(150,200), 
                  Point(130,180)};

   // Create a path that has one curve and one ellipse.
   GraphicsPath path;
   path.AddClosedCurve(pts, 4);
   path.AddEllipse(120, 220, 100, 40);

   // Draw the path with a thick yellow pen and a thin black pen.
   graphics.DrawPath(&yellowPen, &path);
   graphics.DrawPath(&blackPen, &path);
 
   // Get the path's bounding rectangle.
   Rect rect;
   path.GetBounds(&rect, NULL, &yellowPen);
   graphics.DrawRectangle(&redPen, rect);  
}

Color(255, 0, 0, 0)Color(255, 255, 0,  0)

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 gdipluspath.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

Kliping dengan Wilayah

Membuat dan Menggambar Jalur

Membuat Gradien Jalur

GraphicsPath

Matrix

Jalan

Pena

Rect