社区
其他技术讨论专区
帖子详情
viewbox 如何实现以中心点的缩放呢
weixin_38053367
2016-08-22 07:53:49
改变viewbox宽高后,中心点就开始偏移了,图片位置只要不再中间。就会一直朝一边歪
如何让viewbox的中心点固定,放大缩小都是朝4周的呢
...全文
17
1
打赏
收藏
viewbox 如何实现以中心点的缩放呢
改变viewbox宽高后,中心点就开始偏移了,图片位置只要不再中间。就会一直朝一边歪 如何让viewbox的中心点固定,放大缩小都是朝4周的呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38067747
2016-08-23
打赏
举报
回复
Hi wpf萌新,
你说改变viewbox宽高后,中心点就开始偏移了。这个问题我觉得你需要分享相关的代码。这样我们可以更好的分析你的问题。
>>如何让viewbox的中心点固定 (改变viewbox宽高后),放大缩小都是朝4周的呢
你可以自定义一个ViewboxPanel,重写MeasureOverride 和 ArrangeOverride 方法,来实现放大缩小都是朝4周。 下面的代码你可以尝试。
public class ViewboxPanel : Panel { private double scale; protected override Size MeasureOverride(Size availableSize) { double height = 0; Size unlimitedSize = new Size(double.PositiveInfinity, double.PositiveInfinity); foreach (UIElement child in Children) { child.Measure(unlimitedSize); height += child.DesiredSize.Height; } scale = availableSize.Height / height; return availableSize; } protected override Size ArrangeOverride(Size finalSize) { Transform scaleTransform = new ScaleTransform(scale, scale); double height = 0; foreach (UIElement child in Children) { child.RenderTransform = scaleTransform; child.Arrange(new Rect(new Point(0, scale * height), new Size(finalSize.Width / scale, child.DesiredSize.Height))); height += child.DesiredSize.Height; } return finalSize; } }
<Grid> <local:ViewboxPanel Width = "60" Height="30" > <Button>Foo</Button> </local:ViewboxPanel> </Grid>
WPF
实现
图片放大,缩小,拖动示例
WPF
实现
图片放大,缩小,拖动示例
Visual Studio C# WPF 2017鼠标滚轮
实现
放大缩小源码大全2021-07-26.rar
Visual Studio C# WPF 2017鼠标滚轮
实现
放大缩小源码大全2021-07-26.rar
WPF 效果不错的图片浏览器
WPF 图片浏览器 功能:上一张/下一张/图片
缩放
(有待提高)/旋转 你可以去我的博客看看效果: blog.csdn.net/rorger 找到wpf栏目的wpf浏览器
wpf窗体翻转,类QQ
wpf窗体翻转,类QQ
SVGCSS3
实现
按钮点击波纹动画
SVG CSS3
实现
按钮点击波纹动画 SVGCSS3
实现
按钮点击波纹动画 SVGCSS3
实现
按钮点击波纹动画
其他技术讨论专区
474
社区成员
791,046
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章