wpf 中image显示图片缩放之后超出容器怎么办
用的是滚轮缩放,image控件装在一个grid里,代码:varmosePos=e.GetPosition(image);varscale=transform.ScaleX...
用的是滚轮缩放,image控件装在一个grid里 ,代码:
var mosePos = e.GetPosition(image);
var scale = transform.ScaleX * (e.Delta > 0 ? 1.2 : 1 / 1.2);
scale = Math.Max(scale, 1);
transform.ScaleX = scale;
transform.ScaleY = scale;
if (scale == 1) //缩放率为1的时候,复位
{
translate.X = 0;
translate.Y = 0;
}
else //保持鼠标相对图片位置不变
{
var newPos = e.GetPosition(image);
translate.X += (newPos.X - mosePos.X);
translate.Y += (newPos.Y - mosePos.Y);
} 展开
var mosePos = e.GetPosition(image);
var scale = transform.ScaleX * (e.Delta > 0 ? 1.2 : 1 / 1.2);
scale = Math.Max(scale, 1);
transform.ScaleX = scale;
transform.ScaleY = scale;
if (scale == 1) //缩放率为1的时候,复位
{
translate.X = 0;
translate.Y = 0;
}
else //保持鼠标相对图片位置不变
{
var newPos = e.GetPosition(image);
translate.X += (newPos.X - mosePos.X);
translate.Y += (newPos.Y - mosePos.Y);
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询