Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
Image processing 在窗口RT应用程序的特定区域中约束图像移动_Image Processing_Windows Store Apps_Winrt Xaml_Windows Phone 8.1 - Fatal编程技术网

Image processing 在窗口RT应用程序的特定区域中约束图像移动

Image processing 在窗口RT应用程序的特定区域中约束图像移动,image-processing,windows-store-apps,winrt-xaml,windows-phone-8.1,Image Processing,Windows Store Apps,Winrt Xaml,Windows Phone 8.1,嗯。 为了描述我想做的事情,您是否使用过Telerik Crop function图像编辑器控件? 我想要完全相同的功能 我想使用那个控件,但我正在开发一个通用应用程序,它并没有像telerik的图像编辑器那个样的控件 该控件确实是 1.有一个固定的矩形或画布用于裁剪图像。 2.如果原始图像位于画布(或Rect)区域,则图像的不透明度=1(我猜),如果原始图像位于画布区域之外,则图像看起来很暗(可能不透明度为0.5或一些) 3.约束画布中的原始图像移动 我将在Image.operationDel

嗯。 为了描述我想做的事情,您是否使用过Telerik Crop function图像编辑器控件? 我想要完全相同的功能

我想使用那个控件,但我正在开发一个通用应用程序,它并没有像telerik的图像编辑器那个样的控件

该控件确实是 1.有一个固定的矩形或画布用于裁剪图像。 2.如果原始图像位于画布(或Rect)区域,则图像的不透明度=1(我猜),如果原始图像位于画布区域之外,则图像看起来很暗(可能不透明度为0.5或一些) 3.约束画布中的原始图像移动

我将在Image.operationDelta事件中实现此函数。 我必须获得画布的每个点值吗?或者我可以用画布的宽度或高度来做吗? 我该怎么做

有人能帮我吗?
有什么提示吗?

我不熟悉那个特定的控件,但我想我理解你想要什么

要约束画布中图像的移动,可以检查图像在操纵增量中的最终位置,并适当限制任何平移、缩放和旋转。如果应用变换后图像的边界框在画布内,则应用变换。否则,将其回滚,什么也不做。在我的博客条目中,我有这方面的示例代码:


要使作物外部的区域变暗,我需要创建一个形状,并用部分透明的笔刷填充它。一体式代码框架示例演示了这种技术。我相信示例针对的是Windows应用商店8.0应用程序,但本质上相同的代码应该适用于Windows应用商店8.1或Windows Phone应用商店8.1应用程序。

感谢您提供的共享代码。但是,您能详细解释TransformToVisual和TransformBounds方法在代码中的作用吗?UIElement.TransformToVisual提供了一个通用转换,它将一个UIElement的坐标转换为另一个UIElement的坐标。TransformBounds是GeneralTransform上的方法,用于将一个矩形(通常是一个UIElement的边界框)实际转换为另一个UIElement的坐标系。有关TransformToVisual,请参见MSDN文档中的备注