使用SkiaSharp的Xamarin.Forms中的SK位图操作问题

toe95027  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(111)

我正在做一个Xamarin.Forms项目,并利用SkiaSharp进行位图操作。我有一个代码片段,可以直接操作从ImageButton源代码中获得的SKBitmap,它按预期工作:

canvas.DrawBitmap(SKBitmap.Decode(picturebox.Source.ToString()), new SKRect((float)lastMousePosition.X - pixell, (float)lastMousePosition.Y - pixell, (float)lastMousePosition.X - pixell + pixell * 2, (float)lastMousePosition.Y - pixell + pixell * 2), new SKRect((float)lastMousePosition.X - pixel, (float)lastMousePosition.Y - pixel, (float)lastMousePosition.X - pixel + pixel * 2, (float)lastMousePosition.Y - pixel + pixel * 2), paint);

字符串
然而,当我尝试使用方法(aObject)来处理从StackLayout中的ImageButton获得的SKBitmap时,它不会产生预期的结果:

((StackLayout)scrol.Content).Children[b] = aaaa(SKBitmap.Decode(((ImageButton)((StackLayout)scrol.Content).Children[b]).Source), opacity, (int)e.TotalX - int.Parse(ll3[0]), (int)e.TotalY - int.Parse(ll3[1]), size);


下面是一个简单的例子:

private SKBitmap aaaa(SKBitmap inputImage, float strength, int brushSize, int brushLocation, int radius)
{
    
}


我已经确认了appropriate方法正确接收了SKBitmap,但结果出乎意料。您能帮助我了解导致这种差异的原因吗?任何见解或建议都将非常感谢。
谢谢你,谢谢

iszxjhcz

iszxjhcz1#

我发现我需要先分配它,而不是经常使用它。
例如:

ImageButton sss = ((StackLayout)scrol.Content).Children[b] as ImageButton;

字符串

相关问题