本文整理汇总了C#中CGBitmapContext.StrokePath方法的典型用法代码示例。如果您正苦于以下问题:C# CGBitmapContext.StrokePath方法的具体用法?C# CGBitmapContext.StrokePath怎么用?C# CGBitmapContext.StrokePath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGBitmapContext
的用法示例。
在下文中一共展示了CGBitmapContext.StrokePath方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MakeCalendarBadge
public static UIImage MakeCalendarBadge (UIImage template, string smallText, string bigText)
{
using (var cs = CGColorSpace.CreateDeviceRGB ()){
using (var context = new CGBitmapContext (IntPtr.Zero, 59, 58, 8, 59*4, cs, CGImageAlphaInfo.PremultipliedLast)){
//context.ScaleCTM (0.5f, -1);
context.TranslateCTM (0, 0);
context.DrawImage (new RectangleF (0, 0, 59, 58), template.CGImage);
context.SetFillColor (0, 0, 0, 1);
// The _small_ string
context.SelectFont ("Helvetica-Bold", 14f, CGTextEncoding.MacRoman);
// Pretty lame way of measuring strings, as documented:
var start = context.TextPosition.X;
context.SetTextDrawingMode (CGTextDrawingMode.Invisible);
context.ShowText (smallText);
var width = context.TextPosition.X - start;
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.ShowTextAtPoint ((59-width)/2, 10, smallText); // was 46
// The BIG string
context.SelectFont ("Helvetica-Bold", 32, CGTextEncoding.MacRoman);
start = context.TextPosition.X;
context.SetTextDrawingMode (CGTextDrawingMode.Invisible);
context.ShowText (bigText);
width = context.TextPosition.X - start;
context.SetFillColor (0, 0, 0, 1);
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.ShowTextAtPoint ((59-width)/2, 25, bigText); // was 9
context.StrokePath ();
return UIImage.FromImage (context.ToImage ());
}
}
}
示例2: DrawPathAsBackground
// Draws our animation path on the background image, just to show it
protected void DrawPathAsBackground ()
{
// create our offscreen bitmap context
var bitmapSize = new SizeF (View.Frame.Size);
using (var context = new CGBitmapContext (
IntPtr.Zero,
(int)bitmapSize.Width, (int)bitmapSize.Height, 8,
(int)(4 * bitmapSize.Width), CGColorSpace.CreateDeviceRGB (),
CGImageAlphaInfo.PremultipliedFirst)) {
// convert to View space
var affineTransform = CGAffineTransform.MakeIdentity ();
// invert the y axis
affineTransform.Scale (1f, -1f);
// move the y axis up
affineTransform.Translate (0, View.Frame.Height);
context.ConcatCTM (affineTransform);
// actually draw the path
context.AddPath (animationPath);
context.SetStrokeColor (UIColor.LightGray.CGColor);
context.SetLineWidth (3f);
context.StrokePath ();
// set what we've drawn as the backgound image
backgroundImage.Image = UIImage.FromImage (context.ToImage());
}
}
示例3: UpdateRouteView
public void UpdateRouteView()
{
using(var context = new CGBitmapContext(null, (int)_RouteView.Frame.Width, (int)_RouteView.Frame.Height, 8,
(int)(4 * _RouteView.Frame.Width), CGColorSpace.CreateDeviceRGB(), CGImageAlphaInfo.PremultipliedLast))
{
context.SetStrokeColor(LineColor.CGColor);
context.SetFillColor(0.0f, 0.0f, 1.0f, 1.0f);
context.SetLineWidth(3.0f);
for (int i = 0; i < _Routes.Count(); i++)
{
var route = _Routes[i];
var point = _MapView.ConvertCoordinate(route.Coordinate, _RouteView);
if(i == 0)
context.MoveTo(point.X, _RouteView.Frame.Height - point.Y);
else
context.AddLineToPoint(point.X, _RouteView.Frame.Height - point.Y);
}
context.StrokePath();
var cgImage = context.ToImage();
var image = UIImage.FromImage(cgImage);
_RouteView.Image = image;
}
}
示例4: MakeCalendarBadgeSmall
public static UIImage MakeCalendarBadgeSmall (UIImage template, string smallText, string bigText)
{
int imageWidth=30, imageHeight=29;
int smallTextY=5, bigTextY=12;
float smallTextSize=7f, bigTextSize=16f;
using (var cs = CGColorSpace.CreateDeviceRGB ()) {
using (var context = new CGBitmapContext (IntPtr.Zero
, imageWidth, imageHeight, 8, imageWidth*4, cs
, CGImageAlphaInfo.PremultipliedLast)) {
//context.ScaleCTM (0.5f, -1);
context.TranslateCTM (0, 0);
context.DrawImage (new RectangleF (0, 0, imageWidth, imageHeight), template.CGImage);
context.SetFillColor (0, 0, 0, 1);
// The _small_ string
context.SelectFont ("Helvetica-Bold", smallTextSize, CGTextEncoding.MacRoman);
// Pretty lame way of measuring strings, as documented:
var start = context.TextPosition.X;
context.SetTextDrawingMode (CGTextDrawingMode.Invisible);
context.ShowText (smallText);
var width = context.TextPosition.X - start;
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.ShowTextAtPoint ((imageWidth-width)/2, smallTextY, smallText);
// The BIG string
context.SelectFont ("Helvetica-Bold", bigTextSize, CGTextEncoding.MacRoman);
start = context.TextPosition.X;
context.SetTextDrawingMode (CGTextDrawingMode.Invisible);
context.ShowText (bigText);
width = context.TextPosition.X - start;
context.SetFillColor (0, 0, 0, 1);
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.ShowTextAtPoint ((imageWidth-width)/2, bigTextY, bigText);
context.StrokePath ();
return UIImage.FromImage (context.ToImage ());
}
}
}
示例5: CreateCalendarImage
static UIImage CreateCalendarImage(DateTime date)
{
string month = date.ToString ("MMMM");
string day = date.Day.ToString ();
using (var cs = CGColorSpace.CreateDeviceRGB ()) {
using (var context = new CGBitmapContext (IntPtr.Zero, 57, 57, 8, 57 * 4, cs, CGImageAlphaInfo.PremultipliedLast)) {
//context.ScaleCTM (0.5f, -1);
context.TranslateCTM (0, 0);
context.DrawImage (new RectangleF (0, 0, 57, 57), Calendar.CGImage);
context.SetFillColor (1.0f, 1.0f, 1.0f, 1.0f);
context.SelectFont ("Helvetica", 10f, CGTextEncoding.MacRoman);
// Pretty lame way of measuring strings, as documented:
var start = context.TextPosition.X;
context.SetTextDrawingMode (CGTextDrawingMode.Invisible);
context.ShowText (month);
var width = context.TextPosition.X - start;
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.ShowTextAtPoint ((57 - width) / 2, 46, month);
// The big string
context.SelectFont ("Helvetica-Bold", 32, CGTextEncoding.MacRoman);
start = context.TextPosition.X;
context.SetTextDrawingMode (CGTextDrawingMode.Invisible);
context.ShowText (day);
width = context.TextPosition.X - start;
context.SetFillColor (0.0f, 0.0f, 0.0f, 1.0f);
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.ShowTextAtPoint ((57 - width) / 2, 9, day);
context.StrokePath ();
return UIImage.FromImage (context.ToImage ());
}
}
}