Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF C中将图像环绕在画布上#_C#_Wpf_Image_Graphics_Wpf Controls - Fatal编程技术网

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创建以下输出:

从该源图像:


有没有一种简单的方法来检查图像是否接触到边框?将适当地复制和翻译这些内容。或者我必须复制每一张图像,甚至是那些不接触边缘的图像吗?不,你可以检查边界图像。获取图像的大小,然后从表单的大小中减去它。这是一个简单的逻辑。对这个答案也有兴趣