本文整理汇总了C#中MonoMac.CoreGraphics.CGContext.StrokePath方法的典型用法代码示例。如果您正苦于以下问题:C# CGContext.StrokePath方法的具体用法?C# CGContext.StrokePath怎么用?C# CGContext.StrokePath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoMac.CoreGraphics.CGContext
的用法示例。
在下文中一共展示了CGContext.StrokePath方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DrawEllipsis
public static void DrawEllipsis(CGContext context, RectangleF rect, CGColor color, float lineWidth)
{
context.SaveState();
context.SetStrokeColor(color);
context.SetLineWidth(lineWidth);
context.AddEllipseInRect(rect);
context.StrokePath();
context.RestoreState();
}
示例2: DrawLine
public static void DrawLine(CGContext context, List<PointF> points, CGColor color, float lineWidth, bool closePath, bool dashed)
{
if (points == null)
throw new NullReferenceException();
if (points.Count == 0)
throw new ArgumentException("The line must have at least one point.");
context.SaveState();
context.SetStrokeColor(color);
context.SetLineWidth(lineWidth);
context.MoveTo(points[0].X, points[0].Y);
for(int a = 1; a < points.Count; a++)
context.AddLineToPoint(points[a].X, points[a].Y);
if (dashed)
context.SetLineDash(0, new float[2] { 1, 2 }, 2);
if (closePath)
context.ClosePath();
context.StrokePath();
context.RestoreState();
}
示例3: StrokePath
public static void StrokePath(CGContext context, CGPath path, float pathWidth, CGColor color)
{
context.SaveState();
context.SetLineWidth(pathWidth);
context.SetStrokeColor(color);
context.AddPath(path);
context.StrokePath();
context.RestoreState();
}
示例4: HatchDiagonalCross
void HatchDiagonalCross(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, true);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
float halfMe = hatchHeight / 2.0f;
context.MoveTo(0, 0);
context.AddLineToPoint(hatchWidth, hatchHeight);
context.StrokePath();
context.MoveTo(hatchWidth, 0);
context.AddLineToPoint(0, hatchHeight);
context.StrokePath();
}
示例5: HatchDashedHorizontal
void HatchDashedHorizontal(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, false);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
float halfMe = hatchHeight / 2.0f - 1;
hatchWidth -=1;
hatchHeight -= 1;
context.MoveTo(halfMe+1, halfMe);
context.AddLineToPoint(hatchWidth, halfMe);
context.StrokePath();
context.MoveTo(0,hatchHeight);
context.AddLineToPoint(halfMe, hatchHeight);
context.StrokePath();
}
示例6: HatchDiagonalBrick
void HatchDiagonalBrick(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, false);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
hatchHeight -= 1;
hatchWidth -= 1;
context.MoveTo(0, 0);
context.AddLineToPoint(hatchWidth,hatchHeight);
context.StrokePath();
context.MoveTo(0, hatchHeight);
context.AddLineToPoint(hatchWidth / 2.0f,hatchHeight / 2.0f);
context.StrokePath();
}
示例7: HatchUpwardDiagonal
protected void HatchUpwardDiagonal(CGContext context)
{
var hatchSize = getHatchWidth (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
if (hatchStyle != HatchStyle.ForwardDiagonal &&
hatchStyle != HatchStyle.BackwardDiagonal)
{
initializeContext(context, hatchSize, false);
}
else {
initializeContext(context, hatchSize, true);
}
/* draw background */
drawBackground (context, backColor, hatchSize, hatchSize);
/* draw lines in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetFillColor(foreColor.ToCGColor());
context.SetLineWidth(1);
context.SetLineCap(CGLineCap.Square);
context.MoveTo(0,0);
context.AddLineToPoint(hatchSize,hatchSize);
/* draw a diagonal line for as many times as linewidth*/
for (int l = 0; l < lineWidth; l++)
{
/* draw a diagonal line */
context.MoveTo(l,0);
context.AddLineToPoint(hatchSize, hatchSize-l);
context.StrokePath();
}
/**
* because we are within a rectangular pattern we have to complete the tip of the preceeding line
* pattern
*/
for (int k = 1; k < lineWidth; k++)
{
/* draw a diagonal line */
context.MoveTo(0,hatchSize-k);
context.AddLineToPoint(k-1, hatchSize-1);
context.StrokePath();
}
}
示例8: HatchVertical
protected void HatchVertical(CGContext context)
{
var hatchSize = getHatchWidth (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchSize, false);
/* draw background */
drawBackground (context, backColor, hatchSize, hatchSize);
/* draw horizontal line in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
float halfMe = hatchSize / 2.0f;
// draw a horizontal line
context.MoveTo(0, 0);
context.AddLineToPoint(0, hatchSize);
context.StrokePath();
}
示例9: HatchGrid
protected void HatchGrid(CGContext context)
{
var hatchSize = getHatchWidth (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchSize, false);
/* draw background */
drawBackground (context, backColor, hatchSize, hatchSize);
/* draw lines in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
hatchSize -=HALF_PIXEL_X;
float yoffset = 0;
if (hatchStyle == HatchStyle.DottedGrid)
{
yoffset = 1;
float[] dash = new float[] { 1, 1};
context.SetLineDash(2,dash);
}
/* draw a horizontal line */
context.MoveTo(0,yoffset);
context.AddLineToPoint(0,hatchSize);
context.StrokePath();
/* draw a vertical line */
context.MoveTo(0,hatchSize);
context.AddLineToPoint(hatchSize, hatchSize);
context.StrokePath();
}
示例10: HatchWeave
void HatchWeave(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, false);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetFillColor(foreColor.ToCGColor());
/* draw lines in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
float halfWidth = hatchWidth / 2.0f;
float halfHeight = hatchHeight / 2.0f;
RectangleF rect = new RectangleF(0,0,1,1);
// Add upward diagonals
context.MoveTo(0,0);
context.AddLineToPoint(halfWidth, halfHeight);
context.StrokePath();
context.MoveTo(0, halfHeight);
context.AddLineToPoint(halfWidth -1, hatchHeight - 1);
context.StrokePath();
context.MoveTo(halfWidth, 0);
context.AddLineToPoint(6, 2);
context.StrokePath();
// context.MoveTo(0, 4);
// context.AddLineToPoint(2, 2);
// context.StrokePath();
context.MoveTo(2,6);
context.AddLineToPoint(7, 1);
context.StrokePath();
}
示例11: HatchShingle
void HatchShingle(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, false);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetFillColor(foreColor.ToCGColor());
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
float halfMe = hatchWidth / 2.0f;
// We are basically going to draw a lamda sign
// Draw base
context.MoveTo(0,0);
context.AddLineToPoint(halfMe,halfMe-HALF_PIXEL_Y);
context.AddLineToPoint(hatchWidth, HALF_PIXEL_Y);
context.StrokePath();
// draw the first part of tail
context.MoveTo(halfMe + HALF_PIXEL_X, halfMe);
context.AddLineToPoint(halfMe + HALF_PIXEL_X, halfMe + 1);
context.StrokePath();
// now the last curl on the tail
RectangleF rect = new RectangleF(1,hatchHeight-1,1,1);
setPixels(context, rect);
rect.X += 1;
setPixels(context, rect);
rect.X += 1;
rect.Y -= 1;
setPixels(context, rect);
}
示例12: HatchOutlinedDiamond
void HatchOutlinedDiamond(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, false);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetFillColor(foreColor.ToCGColor());
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
// this is really just two diagonal lines from each corner too
// their opposite corners.
context.MoveTo(0,0);
context.AddLineToPoint(hatchWidth, hatchHeight);
context.StrokePath();
context.MoveTo(1,hatchHeight);
context.AddLineToPoint(hatchWidth, 1);
context.StrokePath();
}
示例13: HatchHorizontalBrick
void HatchHorizontalBrick(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, false);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetFillColor(foreColor.ToCGColor());
/* draw lines in the foreground color */
context.SetStrokeColor(foreColor.ToCGColor());
context.SetLineWidth(lineWidth);
context.SetLineCap(CGLineCap.Square);
RectangleF rect = new RectangleF(0,0,1,1);
rect.Y = 3;
rect.Width = hatchWidth;
rect.Height = hatchHeight - 4;
context.StrokeRect(rect);
context.MoveTo(hatchWidth / 2.0f, 0);
context.AddLineToPoint(hatchWidth / 2.0f,3);
context.StrokePath();
}