本文整理汇总了C++中gdiplus::Graphics::DrawPath方法的典型用法代码示例。如果您正苦于以下问题:C++ Graphics::DrawPath方法的具体用法?C++ Graphics::DrawPath怎么用?C++ Graphics::DrawPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gdiplus::Graphics
的用法示例。
在下文中一共展示了Graphics::DrawPath方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawTextOutline
BOOL GdiplusUtilities::DrawTextOutline(Gdiplus::Graphics& graphics,
LPCTSTR lpchText, int cchText, const Gdiplus::Rect& rc, const Gdiplus::StringFormat& format,
const Gdiplus::Font& font, Gdiplus::Color fill, Gdiplus::Color outline, INT outlineWidth,
BOOL bCalcOnly/* = FALSE*/, Gdiplus::Rect* rcCalc/* = NULL*/)
{
Gdiplus::FontFamily fontFamily;
font.GetFamily(&fontFamily);
Gdiplus::GraphicsPath path;
path.AddString(lpchText, cchText, &fontFamily, font.GetStyle(), font.GetHeight(&graphics), rc, &format);
if (rcCalc != NULL)
{
path.GetBounds(rcCalc);
rcCalc->Inflate(outlineWidth, outlineWidth);
}
if (bCalcOnly)
return TRUE;
Gdiplus::Pen pen(outline, (Gdiplus::REAL) outlineWidth);
if (graphics.DrawPath(&pen, &path) == Gdiplus::Ok)
{
Gdiplus::SolidBrush brush(fill);
return graphics.FillPath(&brush, &path) == Gdiplus::Ok;
}
return FALSE;
}
示例2: DrawRoundRectangle
void Graphics::DrawRoundRectangle(Pen* pen, const RectF& rc, float d) {
Gdiplus::Graphics* g = reinterpret_cast<Gdiplus::Graphics*>(_private);
Gdiplus::Pen* gdiPen = reinterpret_cast<Gdiplus::Pen*>(pen->_private);
Gdiplus::GraphicsPath gp;
Gdiplus::RectF r(rc.GetLeft()-1.0f, rc.GetTop()-1.0f, rc.GetWidth(), rc.GetHeight());
gp.AddArc(r.X, r.Y, d, d, 180.0f, 90.0f);
gp.AddArc(r.X + r.Width - d, r.Y, d, d, 270.0f, 90.0f);
gp.AddArc(r.X + r.Width - d, r.Y + r.Height - d, d, d, 0.0f, 90.0f);
gp.AddArc(r.X, r.Y + r.Height - d, d, d, 90.0f, 90.0f);
gp.AddLine(r.X, r.Y + r.Height - d, r.X, r.Y + d / 2.0f);
g->DrawPath(gdiPen, &gp);
}
示例3: DrawPath
void Graphics::DrawPath(Pen* pen, GraphicsPath* path) {
Gdiplus::Graphics* g = reinterpret_cast<Gdiplus::Graphics*>(_private);
Gdiplus::Pen* gdiPen = reinterpret_cast<Gdiplus::Pen*>(pen->_private);
Gdiplus::GraphicsPath* gdiPath = reinterpret_cast<Gdiplus::GraphicsPath*>(path->_private);
g->DrawPath(gdiPen, gdiPath);
}