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

 
(同じ利用者による、間の4版が非表示)
42行目: 42行目:
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:skia="clr-namespace:SkiaSharp.Views.Maui.Controls;assembly=SkiaSharp.Views.Maui.Controls"
             xmlns:skia="clr-namespace:SkiaSharp.Views.Maui.Controls;assembly=SkiaSharp.Views.Maui.Controls"
             x:Class="Capture8.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]]