C# 在WPF C中将图像环绕在画布上#
C# 在WPF C中将图像环绕在画布上#,c#,wpf,image,graphics,wpf-controls,C#,Wpf,Image,Graphics,Wpf Controls,我怎样才能像这样在画布上缠绕图像?我能想到的最明显的方法是复制图像,并在相反方向上偏移图像的宽度/高度。有没有其他方法可以做到这一点 否。别无选择。你必须画出所有的图像。因为控件不会分裂 您可以计算并生成图像框,以显示基于偏移量的图像数量。您可以使用此图像用图像画笔填充矩形,并根据需要设置其TileMode和视口属性 例如: <Rectangle Width="128" Height="128"> <Rectangle.Fill> <Imag
我怎样才能像这样在画布上缠绕图像?我能想到的最明显的方法是复制图像,并在相反方向上偏移图像的宽度/高度。有没有其他方法可以做到这一点 否。别无选择。你必须画出所有的图像。因为控件不会分裂
您可以计算并生成图像框,以显示基于偏移量的图像数量。您可以使用此图像用图像画笔填充矩形,并根据需要设置其
TileMode
和视口
属性
例如:
<Rectangle Width="128" Height="128">
<Rectangle.Fill>
<ImageBrush ImageSource="Images\Tile.png" TileMode="Tile"
ViewportUnits="Absolute" Viewport="64,64,128,128"/>
</Rectangle.Fill>
</Rectangle>
上述XAML创建以下输出:
从该源图像:
有没有一种简单的方法来检查图像是否接触到边框?将适当地复制和翻译这些内容。或者我必须复制每一张图像,甚至是那些不接触边缘的图像吗?不,你可以检查边界图像。获取图像的大小,然后从表单的大小中减去它。这是一个简单的逻辑。对这个答案也有兴趣