WPF圆形头像设置

发现有些小程序设置头像的处理似乎有点问题,特别是不断的放大、缩小后,会出现图片只显示出一半。主要问题是这些程序对于图片的边界判断存在问题,从而导致一些问题。

本文主要实现WPF下用户头像的设置处理,实现功能是用户选择一张图片该例子可以对选择的图片进行缩放和移动操作,最后方块内的部分,会被裁剪出来,最后以圆形头像显示出来。

启动后初始画面如下所示:


点击设置头像后,会显示对话框,点击导入按钮,选择好自己想要设置的图片,如下所示,可以用鼠标左键选中图片进行移动,使用滚轮进行图片的缩放。

设置好自己满意的图片后,点击ok即可。初始加载的图片,程序会等比缩放图片,让其完全的填充200×200这么大正方形区域,进行放大时,是以正方形的中心进行放大,

而缩小时,优先采用中心进行缩小,当某个边的尺寸快要不足,不能再以中心缩放,则以那一条边作为基准进行缩放,从而提高了用户的友好交互。


主要的代码如下,边界判断的思路是共通的,用其他语言写这样的程序,也得进行这样的判断。

移动图片时的处理逻辑

        private void editingPhoto_MouseMove(object sender, MouseEventArgs e)
        {
            if (this.isMouseLeftButtonDown)
            {
                Point position = e.GetPosition(this.editingPhoto);
                T
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值