Xamarin.Forms의 SkiaSharp 그래픽SkiaSharp Graphics in Xamarin.Forms

샘플 다운로드 샘플 다운로드Download Sample Download the sample

Xamarin.Forms 응용 프로그램에서 2D 그래픽 SkiaSharp 사용Use SkiaSharp for 2D graphics in your Xamarin.Forms applications

SkiaSharp는.NET 및 Google 제품에 광범위 하 게 사용 되는 오픈 소스 Skia 그래픽 엔진에서 제공 하는 C#에 대 한 2D 그래픽 시스템.SkiaSharp is a 2D graphics system for .NET and C# powered by the open-source Skia graphics engine that is used extensively in Google products. 2D 벡터 그래픽, 비트맵, 텍스트를 그리려면 SkiaSharp Xamarin.Forms 응용 프로그램에서 사용할 수 있습니다.You can use SkiaSharp in your Xamarin.Forms applications to draw 2D vector graphics, bitmaps, and text. 참조 된 2D 그리기 SkiaSharp 라이브러리에 대 한 자세한 내용 및 일부 다른 자습서를 위한 가이드입니다.See the 2D Drawing guide for more general information about the SkiaSharp library and some other tutorials.

이 가이드에서는 Xamarin.Forms 프로그래밍 잘 알고 있다고 가정 합니다.This guide assumes that you are familiar with Xamarin.Forms programming.

웹 세미나 Xamarin.ios에 대 한 SkiaSharpWebinar: SkiaSharp for Xamarin.Forms

SkiaSharp 준비SkiaSharp Preliminaries

SkiaSharp Xamarin.Forms에 대 한 NuGet 패키지로 패키지 됩니다.SkiaSharp for Xamarin.Forms is packaged as a NuGet package. Mac 용 Visual Studio 또는 Visual Studio에서 Xamarin.Forms 솔루션을 만들었습니다, 후 검색 하려면 NuGet 패키지 관리자를 사용할 수 있습니다 합니다 SkiaSharp.Views.Forms 패키지 및 솔루션에 추가 합니다.After you've created a Xamarin.Forms solution in Visual Studio or Visual Studio for Mac, you can use the NuGet package manager to search for the SkiaSharp.Views.Forms package and add it to your solution. 확인 하는 경우는 참조가 섹션 SkiaSharp를 추가한 후 각 프로젝트를 볼 수 있습니다 다양 한 SkiaSharp 라이브러리 각 솔루션의 프로젝트에 추가 되었습니다.If you check the References section of each project after adding SkiaSharp, you can see that various SkiaSharp libraries have been added to each of the projects in the solution.

Xamarin.Forms 응용 프로그램에서 iOS를 대상으로 하는 경우 iOS 8.0에 최소 배포 대상을 변경 하려면 프로젝트 속성 페이지를 사용 합니다.If your Xamarin.Forms application targets iOS, use the project properties page to change the minimum deployment target to iOS 8.0.

SkiaSharp 사용 하는 모든 C# 페이지에 포함 하려는 using 에 대 한 지시문의 SkiaSharp 모든 SkiaSharp 클래스, 구조체 및 그래픽에서 사용 하는 열거형을 포함 하는 네임 스페이스 프로그래밍합니다.In any C# page that uses SkiaSharp you'll want to include a using directive for the SkiaSharp namespace, which encompasses all the SkiaSharp classes, structures, and enumerations that you'll use in your graphics programming. 할 수는 using 지시문에 대 한 합니다 SkiaSharp.Views.Forms Xamarin.Forms 관련 클래스에 대 한 네임 스페이스입니다.You'll also want a using directive for the SkiaSharp.Views.Forms namespace for the classes specific to Xamarin.Forms. 가장 중요 한 클래스는 훨씬 더 작은 네임 스페이스를 이것이 SKCanvasView 합니다.This is a much smaller namespace, with the most important class being SKCanvasView. 이 클래스는 Xamarin.Forms에서 파생 됩니다 View 클래스 하 고 SkiaSharp 그래픽 출력을 호스트 합니다.This class derives from the Xamarin.Forms View class and hosts your SkiaSharp graphics output.

중요

합니다 SkiaSharp.Views.Forms 네임 스페이스는 포함을 SKGLView 에서 파생 된 클래스 View 하지만 OpenGL을 사용 하 여 그래픽 렌더링에 대 한 합니다.The SkiaSharp.Views.Forms namespace also contains an SKGLView class that derives from View but uses OpenGL for rendering graphics. 단순성을 위해이 가이드를 제한 하려면 자체 SKCanvasView, 하지만 사용 하 여 SKGLView 대신 매우 비슷합니다.For purposes of simplicity, this guide restricts itself to SKCanvasView, but using SKGLView instead is quite similar.

SkiaSharp 그리기 기본 사항SkiaSharp Drawing Basics

일부 SkiaSharp를 사용 하 여 그릴 수 있습니다 가장 간단한 그래픽 수치는 원과 타원, 사각형입니다.Some of the simplest graphics figures you can draw with SkiaSharp are circles, ovals, and rectangles. 이러한 수치를 표시, SkiaSharp 좌표, 크기 및 색에 대 한 배웁니다.In displaying these figures, you will learn about SkiaSharp coordinates, sizes, and colors. 텍스트 및 비트맵을 표시 더 복잡 하지만 이러한 문서는 또한 이러한 기법을 소개 합니다.The display of text and bitmaps is more complex, but these articles also introduce those techniques.

SkiaSharp 선 및 경로SkiaSharp Lines and Paths

그래픽 경로 일련의 연결 된 직선 및 곡선입니다.A graphics path is a series of connected straight lines and curves. 경로 수 스트로크를 입력, 또는 둘 다.Paths can be stroked, filled, or both. 이 문서는 스트로크 끝과 조인 등 파선 선 그리기 하며 점선, 기 하 도형 커브 짧은 중지의 다양 한 측면을 포함 합니다.This article encompasses many aspects of line drawing, including stroke ends and joins, and dashed and dotted lines, but stops short of curve geometries.

SkiaSharp 변환SkiaSharp Transforms

변환 균일 하 게 변환, 배율 조정, 회전 또는 기울어진 그래픽 개체를 허용 합니다.Transforms allow graphics objects to be uniformly translated, scaled, rotated, or skewed. 이 문서에는 비 관계 변환 만들고 변환 경로에 적용 하기 위한 표준 3-3 하 여 변환 매트릭스를 사용 하는 방법을 보여 줍니다.This article also shows how you can use a standard 3-by-3 transform matrix for creating non-affine transforms and applying transforms to paths.

SkiaSharp 곡선 및 경로SkiaSharp Curves and Paths

탐색 경로의 경로 개체에 곡선을 추가 하 고 다른 강력한 경로 기능을 악용을 사용 하 여 계속 합니다.The exploration of paths continues with adding curves to a path objects, and exploiting other powerful path features. 간단한 텍스트 문자열의 전체 경로 지정 하는 방법, 경로 효과 사용 하는 방법 및 내부 경로를 더 자세히 살펴보고 하는 방법을 배웁니다.You'll see how you can specify an entire path in a concise text string, how to use path effects, and how to dig into path internals.

SkiaSharp 비트맵SkiaSharp Bitmaps

비트맵은 비트에 해당 하는 디스플레이 장치의 픽셀 사각형 배열입니다.Bitmaps are rectangular arrays of bits corresponding to the pixels of a display device. 이 문서 시리즈에서는 로드, 저장, 표시, 만들기,, 애니메이션 및 SkiaSharp 비트맵의 비트에 액세스 하는 방법을 보여 줍니다.This series of articles shows how to load, save, display, create, draw on, animate, and access the bits of SkiaSharp bitmaps.

SkiaSharp 효과SkiaSharp Effects

효과 바둑판식 배열 비트맵, 혼합 모드, blur 및 기타 그래픽, 순환 및 선형 그라데이션을 포함 하 여 기본 표시 크기를 변경 하는 속성입니다.Effects are properties that alter the normal display of graphics, including linear and circular gradients, bitmap tiling, blend modes, blur, and others.