在Visual Studio中使用SkiaSharp



我正在研究将SkiaSharp用于未来的项目,按照GitHub上当前可用的文档:

https://developer.xamarin.com/guides/cross-platform/drawing/introduction/

我正在Windows 7上的Visual Studio 2013上进行开发。我尝试使用Xamarin Android App项目类型,但它需要SkiaSharp软件包中DllImportAttribute的营业执照。

我想知道是否可以选择一个C#Visual Studio项目,该项目将能够显示SkiaSharp画布,如果是这样,我将如何做到这一点?

评论上的链接当前已断开。由于文件夹"samples"将来可能会再次更改路径,因此需要的人都可以从 https://github.com/mono/SkiaSharp 页面开始探索。

有关使用 SkiaSharp 的更多信息,请参阅在线 API 文档和这篇关于使用 skia sharp 绘图的文章

对于需要如何使用它的实用快速入门的人,这里有一些例子:

获得 SKCanvas

using (var surface = SKSurface.Create (width: 640, height: 480, SKColorType.N_32, SKAlphaType.Premul)) {
SKCanvas myCanvas = surface.Canvas;
// Your drawing code goes here.
}

绘图文本

// clear the canvas / fill with white
canvas.DrawColor (SKColors.White);
// set up drawing tools
using (var paint = new SKPaint ()) {
  paint.TextSize = 64.0f;
  paint.IsAntialias = true;
  paint.Color = new SKColor (0x42, 0x81, 0xA4);
  paint.IsStroke = false;
  // draw the text
  canvas.DrawText ("Skia", 0.0f, 64.0f, paint);
}

绘制位图

Stream fileStream = File.OpenRead ("MyImage.png");
// clear the canvas / fill with white
canvas.DrawColor (SKColors.White);
// decode the bitmap from the stream
using (var stream = new SKManagedStream(fileStream))
using (var bitmap = SKBitmap.Decode(stream))
using (var paint = new SKPaint()) {
  canvas.DrawBitmap(bitmap, SKRect.Create(Width, Height), paint);
}

使用图像滤镜绘制

Stream fileStream = File.OpenRead ("MyImage.png"); // open a stream to an image file
// clear the canvas / fill with white
canvas.DrawColor (SKColors.White);
// decode the bitmap from the stream
using (var stream = new SKManagedStream(fileStream))
using (var bitmap = SKBitmap.Decode(stream))
using (var paint = new SKPaint()) {
  // create the image filter
  using (var filter = SKImageFilter.CreateBlur(5, 5)) {
    paint.ImageFilter = filter;
    // draw the bitmap through the filter
    canvas.DrawBitmap(bitmap, SKRect.Create(width, height), paint);
  }
}

相关内容

  • 没有找到相关文章

最新更新