GraphicsPath::IsOutlineVisible(constPointF&,constPen*,constGraphics*) metode (gdipluspath.h)
Metode GraphicsPath::IsOutlineVisible menentukan apakah titik tertentu menyentuh kerangka jalur ini ketika jalur digambar oleh objek Grafis tertentu dan pena yang ditentukan.
Sintaks
BOOL IsOutlineVisible(
const PointF & point,
const Pen *pen,
const Graphics *g
);
Parameter
point
Referensi ke titik yang akan diuji.
pen
Penunjuk ke objek Pena . Metode ini menentukan apakah titik pengujian menyentuh garis besar jalur yang akan digambar oleh pena ini. Lebih banyak poin akan menyentuh kerangka yang digambar oleh pena lebar daripada akan menyentuh kerangka yang digambar oleh pena sempit.
g
Pilihan. Penunjuk ke objek Grafis yang menentukan transformasi dunia ke perangkat. Jika nilai parameter ini adalah NULL, pengujian dilakukan dalam koordinat dunia; jika tidak, pengujian dilakukan dalam koordinat perangkat. Nilai defaultnya adalah NULL.
Nilai kembali
Jika titik pengujian menyentuh kerangka jalur ini, metode ini mengembalikan TRUE; jika tidak, ia mengembalikan FALSE.
Keterangan
Contoh
Contoh berikut membuat jalur elips dan menggambar jalur tersebut dengan pena kuning lebar. Kemudian kode menguji setiap titik dalam array untuk melihat apakah titik menyentuh kerangka (seperti yang akan digambar oleh pena kuning lebar) jalur. Titik yang menyentuh kerangka dicat hijau, dan titik yang tidak menyentuh kerangka dicat merah.
VOID Example_IsOutlineVisibleExample(HDC hdc)
{
Graphics graphics(hdc);
INT j;
Pen yellowPen(Color(255, 255, 255, 0), 20);
SolidBrush brush(Color(255, 255, 0, 0));
// Create and draw a path.
GraphicsPath path;
path.AddEllipse(50, 50, 200, 100);
graphics.DrawPath(&yellowPen, &path);
// Create an array of three points, and determine whether each
// point in the array touches the outline of the path.
// If a point touches the outline, paint it green.
// If a point does not touch the outline, paint it red.
PointF[] = {
PointF(230, 138),
PointF(100, 120),
PointF(150, 170)};
for(j = 0; j <= 2; ++j)
{
if(path.IsOutlineVisible(points[j], &yellowPen, NULL))
brush.SetColor(Color(255, 0, 255, 0));
else
brush.SetColor(Color(255, 255, 0, 0));
graphics.FillEllipse(&brush, points[j].X - 3.0f, points[j].Y - 3.0f, 6.0f, 6.0f);
}
}
Color(255, 255, 0, 0)Color(255, 255, 0, 0)
Persyaratan
Header | gdipluspath.h |
Lihat juga
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