本文整理汇总了C#中CGContext.StrokeRectWithWidth方法的典型用法代码示例。如果您正苦于以下问题:C# CGContext.StrokeRectWithWidth方法的具体用法?C# CGContext.StrokeRectWithWidth怎么用?C# CGContext.StrokeRectWithWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGContext
的用法示例。
在下文中一共展示了CGContext.StrokeRectWithWidth方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DrawInContext
public override void DrawInContext (CGContext context)
{
// Drawing with a white stroke color
context.SetRGBStrokeColor (1, 1, 1, 1);
// And drawing with a blue fill color
context.SetRGBFillColor (0, 0, 1, 1);
// Draw them with a 2 stroke width so they are a bit more visible.
context.SetLineWidth (2);
// Add Rect to the current path, then stroke it
context.AddRect (new RectangleF (30, 30, 60, 60));
context.StrokePath ();
// Stroke Rect convenience that is equivalent to above
context.StrokeRect (new RectangleF (30, 120, 60, 60));
// Stroke rect convenience equivalent to the above, plus a call to context.SetLineWidth ().
context.StrokeRectWithWidth (new RectangleF (30, 210, 60, 60), 10);
// Demonstate the stroke is on both sides of the path.
context.SaveState ();
context.SetRGBStrokeColor (1, 0, 0, 1);
context.StrokeRectWithWidth (new RectangleF (30, 210, 60, 60), 2);
context.RestoreState ();
var rects = new RectangleF []
{
new RectangleF (120, 30, 60, 60),
new RectangleF (120, 120, 60, 60),
new RectangleF (120, 210, 60, 60),
};
// Bulk call to add rects to the current path.
context.AddRects (rects);
context.StrokePath ();
// Create filled rectangles via two different paths.
// Add/Fill path
context.AddRect (new RectangleF (210, 30, 60, 60));
context.FillPath ();
// Fill convienience.
context.FillRect (new RectangleF (210, 120, 60, 60));
}
示例2: DrawSelected
private void DrawSelected(CGContext g)
{
if (selectionRect.IsEmpty)
return;
CGImage grabberImage;
var targetRect = new CGRect(CGPoint.Empty, grabberSize);
grabberImage = NSImage.ImageNamed("Grabber").AsCGImage(ref targetRect, NSGraphicsContext.CurrentContext, new NSDictionary());
g.SetStrokeColor(new CGColor(0.5f, 0.5f));
g.StrokeRectWithWidth(selectionRect, 0.5f);
for (int i = 0; i < grabberRects.Length; i++)
{
g.DrawImage(grabberRects[i], grabberImage);
}
}
示例3: DrawInContext
public override void DrawInContext(CGContext context)
{
// Draw the colored pattern. Since we have a CGColorRef for this pattern, we just set
// that color current and draw.
context.SetFillColorWithColor(coloredPatternColor);
context.FillRect(new RectangleF(10, 10, 90, 90));
// You can also stroke with a pattern.
context.SetStrokeColorWithColor(coloredPatternColor);
context.StrokeRectWithWidth(new RectangleF(120, 10, 90, 90), 8);
// Since we aren't encapsulating our pattern in a CGColor for the uncolored pattern case, setup requires two steps.
// First you have to set the context's current colorspace (fill or stroke) to a pattern colorspace,
// indicating to Quartz that you want to draw a pattern.
context.SetFillColorSpace(uncoloredPatternColorSpace);
// Next you set the pattern and the color that you want the pattern to draw with.
var color1 = new float [] {1, 0, 0, 1};
context.SetFillPattern(uncoloredPattern, color1);
// And finally you draw!
context.FillRect(new RectangleF(10, 120, 90, 90));
// As long as the current colorspace is a pattern colorspace, you are free to change the pattern or pattern color
var color2 = new float [] {0, 1, 0, 1};
context.SetFillPattern(uncoloredPattern, color2);
context.FillRect(new RectangleF(10, 230, 90, 90));
// And of course, just like the colored case, you can stroke with a pattern as well.
context.SetStrokeColorSpace(uncoloredPatternColorSpace);
context.SetStrokePattern(uncoloredPattern, color1);
context.StrokeRectWithWidth(new RectangleF(120, 120, 90, 90), 8);
// As long as the current colorspace is a pattern colorspace, you are free to change the pattern or pattern color
context.SetStrokePattern(uncoloredPattern, color2);
context.StrokeRectWithWidth(new RectangleF(120, 230, 90, 90), 8);
}