在 Visual Studio 中使用 SkiaSharp
Using SkiaSharp in Visual Studio
我正在研究 SkiaSharp 在未来项目中的使用,遵循 GitHub 上当前可用的文档:
https://developer.xamarin.com/guides/cross-platform/drawing/introduction/
我正在 Visual Studio 2013 Windows 7 上开发。我尝试使用 Xamarin Android 应用程序项目类型,但它需要 SkiaSharp 包中的 DllImportAttribute 的商业许可证。
我想知道是否可以 select 一个 C# Visual Studio 项目,该项目将如何显示 SkiaSharp canvas,如果可以,我该怎么做?
评论中的 link 目前已损坏。由于文件夹"samples"以后可能会再次改变路径,有需要的可以从https://github.com/mono/SkiaSharp页面开始探索。
有关使用 SkiaSharp 的更多信息,请访问 API documentation online and in this article about drawing with 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);
}
}
我正在研究 SkiaSharp 在未来项目中的使用,遵循 GitHub 上当前可用的文档:
https://developer.xamarin.com/guides/cross-platform/drawing/introduction/
我正在 Visual Studio 2013 Windows 7 上开发。我尝试使用 Xamarin Android 应用程序项目类型,但它需要 SkiaSharp 包中的 DllImportAttribute 的商业许可证。
我想知道是否可以 select 一个 C# Visual Studio 项目,该项目将如何显示 SkiaSharp canvas,如果可以,我该怎么做?
评论中的 link 目前已损坏。由于文件夹"samples"以后可能会再次改变路径,有需要的可以从https://github.com/mono/SkiaSharp页面开始探索。
有关使用 SkiaSharp 的更多信息,请访问 API documentation online and in this article about drawing with 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);
}
}