确定。 要描述我想要做什么,您是否曾使用过Telerik Crop功能图像编辑器控件? 我想要完全相同的功能。
我想使用该控件但是,我正在开发一款无法控制的通用应用程序,例如来自telerik的图像编辑器。
那种控制确实存在 1.有一个固定的矩形或画布用于裁剪图像。 2.如果原始图像位于画布区域(或矩形)图像的不透明度= 1(我猜)并且如果原始图像超出画布区域,则图像看起来暗淡(可能是不透明度为0.5或某些) 3.在画布中限制原始图像移动。
我将在Image.ManipulationDelta事件中实现此功能。 我必须获得画布的每个点值吗?或者我可以使用画布的宽度或高度来完成吗? 我该怎么做?
任何人都可以帮助我吗? 任何提示?
答案 0 :(得分:1)
我不熟悉那个特定的控制,但我想我明白你想要什么。
要限制“画布”中图像的移动,您可以检查图像在ManipulationDelta中的最终位置,并适当限制任何平移,缩放和旋转。如果应用变换后Image的边界框在Canvas中,则应用变换。否则回滚,什么都不做。我在博客文章中提供了示例代码:Constraining manipulations
为了调暗裁剪区域以外的区域,我会创建一个形状并用部分透明的笔刷填充它。一体化代码框架示例How to crop bitmap in a Windows Store app演示了这种技术。我相信该示例针对Windows Store 8.0应用程序,但基本上相同的代码应该适用于Windows Store 8.1或Windows Phone Store 8.1应用程序。