首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在AvaloniaUI位图上逐点绘制?

如何在AvaloniaUI位图上逐点绘制?
EN

Stack Overflow用户
提问于 2022-04-22 14:00:48
回答 1查看 609关注 0票数 3

我试图编写一个绘图应用程序,允许用户在画布上选择两个点,并在这些点之间逐像素绘制一条线。在WinForms中,这是一个简单的解决方案--创建画布,获取其位图,使用SetPixel方法在位图上绘制,并替换画布位图。我想知道在AvaloniaUI中是否有类似的方法来做到这一点?据我所知,它在引擎盖下使用SkiaSharp。然而,在SKCanvas上呈现Avalonia.Controls.Canvas的解决方案似乎.太难了。尽管SKBitmap也有SetPixel方法。问题不是如何画线,而是如何在AvaloniaUI Avalonia.Controls.Canvas.中设置位图上的单个像素,并将此位图设置为Avalonia.Controls.Canvas.。以下是我发现的一些链接:

尽管这听起来很诱人,但大学也不允许绘制1x1大小的矩形,如官方文档示例(https://docs.avaloniaui.net/docs/controls/canvas)中所示。

我没有要求任何人为我做家庭作业--如果你担心这个问题,请把这看作是一个框架比较问题,而不是“请为我做那个”的问题。我找到并联系了我可以使用的解决方案--在我看来,应该有一个更简单的方法来实现我所寻求的结果。这就是我问这个问题的原因--以防我错过了什么。

做一件绝地的事情:这不是一个学生试图放弃他的工作对其他人。你可以按你的生意办事

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-22 22:12:07

更新:您可以在图像控件上交换位图:https://docs.avaloniaui.net/docs/controls/image

最初的问题(虽然说得很糟糕,我的坏)是为了澄清是否有一种方法来执行SetPixel操作的Avalonia位图。不幸的是,目前它似乎不是一个可用的选项:因此,唯一的方法是创建一个自定义绘图上下文或控件,或者在不同位图类型之间(如System.Drawing.BitmapSkBitmapSkiaSharpAvalonia.WriteableBitmap )之间进行转换。所有这些解决方案都在最初的问题中引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71970013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档