「MAUIでSkiaSharpを使う」の版間の差分

 
(同じ利用者による、間の3版が非表示)
44行目: 44行目:
             x:Class="Maui8.MainPage">
             x:Class="Maui8.MainPage">


     <StackLayout>
     <skia:SKCanvasView x:Name="canvasView"
        <skia:SKCanvasView x:Name="canvasView" PaintSurface="canvasViewPaintSurface"/>
                        PaintSurface="canvasViewPaintSurface"
    </StackLayout>
                        VerticalOptions="Fill"
                        HorizontalOptions="Fill"
                        />


</ContentPage>
</ContentPage>
</source>
</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]]
[[category: MAUI]]