WPF 图片放大缩小移动

gajuesy126 2012-04-06 01:42:25
我做了一个程序,放一张图片,滚动鼠标放大后,移动图片,我想判断当图片边缘超过时,不能移动,就是不显示下面的空白背景,怎么判断???

if ( e.LeftButton != MouseButtonState.Pressed )
return;
var group = RightGD.FindResource( "ImageTransformResource" ) as TransformGroup;
var transform = group.Children[1] as TranslateTransform;
var ScaleTransform = group.Children[0] as ScaleTransform;

if ( ScaleTransform.ScaleX>1&&ScaleTransform.ScaleY>1 )
{
var position = e.GetPosition( rectangle );

double Width1=RightImg.ActualWidth;
transform.X += position.X - m_PreviousMousePoint.X;
transform.Y += position.Y - m_PreviousMousePoint.Y;
m_PreviousMousePoint = position;
}
...全文
332 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰尘灭 2012-04-08
  • 打赏
  • 举报
回复
不知道你用的什么容器装的图片,下面有个解决问题的思路,以前用到过控制容器内控件移动上,希望对你有帮助

1.在装图片的容器外层在包装一个Grid
2.针对图片容器进行 ScaleTransform 处理
3.当缩放时,对Grid的宽和高做对应处理, width=width* transform.X,height=height* transform.Y
4.通过判断此Grid的,位置,宽和高是否超过你的设定

8,756

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧