【发布时间】:2019-01-04 16:54:22
【问题描述】:
我已经开发 wpf 应用程序几年了,我曾经使用以下代码平铺图像并将其用作背景图案:
<ImageBrush ImageSource="/Images/GroupPattern.png" TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,32,32"/>
但是,平铺似乎在 UWP 中不起作用,经过一些研究我没有找到任何东西。
那么,有没有人是等价的?
谢谢!
【问题讨论】:
-
没有内置的等价物。如果要将其用作画笔,则必须从 XamlCompositionBrushBase 创建自己的画笔,并将其与启用平铺的 Win2D 的 BorderEffect 结合使用。 here 有一个未记录的示例,但它不是值得生产的代码(我用它来报告错误)
-
我试试看,不知道为什么没有这样的基本功能...谢谢
-
我试过了,它的工作,但是平铺太大,我控制它几乎整个页面,有没有办法将它设置为 24x24?
-
如果这是您使用视口的目的,那么没有简单的方法可以做到这一点。 (从技术上讲,通常可以将 Win2D CropEffect 链接到效果图来完成这项工作,但它不适用于组合 API)。您可以使用合成 API 缩放用于画笔的表面,也可以创建自己的 CompositionDrawingSurface 并使用 Win2D API 在其上绘制您想要的任何内容。这当然不是微不足道的!最简单的方法是实际调整源图像的大小。