diff --git a/src/Skia/Avalonia.Skia/BitmapImpl.cs b/src/Skia/Avalonia.Skia/BitmapImpl.cs index ba825f6694..e7c3abdf9f 100644 --- a/src/Skia/Avalonia.Skia/BitmapImpl.cs +++ b/src/Skia/Avalonia.Skia/BitmapImpl.cs @@ -16,8 +16,8 @@ namespace Avalonia.Skia public BitmapImpl(SKBitmap bm) { Bitmap = bm; - PixelHeight = bm.Width; - PixelWidth = bm.Height; + PixelHeight = bm.Height; + PixelWidth = bm.Width; } public BitmapImpl(int width, int height) diff --git a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs index 9c233426fc..d6cb02a2e1 100644 --- a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs +++ b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs @@ -23,7 +23,11 @@ namespace Avalonia.Skia var impl = (BitmapImpl)source.PlatformImpl; var s = sourceRect.ToSKRect(); var d = destRect.ToSKRect(); - Canvas.DrawBitmap(impl.Bitmap, s, d); + using (var paint = new SKPaint() + { Color = new SKColor(255, 255, 255, (byte)(255 * opacity)) }) + { + Canvas.DrawBitmap(impl.Bitmap, s, d, paint); + } } public void DrawLine(Pen pen, Point p1, Point p2) @@ -73,12 +77,13 @@ namespace Avalonia.Skia //We are saving memory allocations there //TODO: add more disposable fields if needed public readonly SKPaint Paint; + private IDisposable _disposable1; private Func _applyToAction; - public void SetApplyToAction(Func get, - Action apply, + public void SetApplyToAction(Func get, + Action apply, Action revert) { _applyToAction = (from, to) => @@ -143,8 +148,6 @@ namespace Avalonia.Skia return rv; } - - var gradient = brush as GradientBrush; if (gradient != null) {