メインメニューを開く

差分

MAUIでSkiaSharpを使う

991 バイト追加, 2024年3月4日 (月)
=== XAML ===
<source lang=xml><?xml version="1.0" encoding="utf-8" ?><ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:skia="clr-namespace:SkiaSharp.Views.Maui.Controls;assembly=SkiaSharp.Views.Maui.Controls" x:Class="Maui8.MainPage">  <skia:SKCanvasView x:Name="canvasView" PaintSurface="canvasViewPaintSurface" VerticalOptions="Fill" HorizontalOptions="Fill" /> </ContentPage></source> === CS ===更新はメインスレッドでやる。<source lang="csharp">await MainThread.InvokeOnMainThreadAsync(() =>{ if (_bitmap != null) _bitmap.Dispose(); _bitmap = bitmap;  canvasView.InvalidateSurface();});</source> 描画<source lang="csharp">void canvasViewPaintSurface(Object sender, SKPaintSurfaceEventArgs e){ if (_bitmap == null) return; using var canvas = e.Surface.Canvas; canvas.Clear(); canvas.DrawBitmap(_bitmap, x:0, y:0);}</source>
[[category: MAUI]]