Android中不变形地将矩形图像转换为正方形——android学习笔记

学习笔记,如何将矩形图片不失真地转换为正方形,附上代码及图示
在这里插入图片描述在这里插入图片描述
左图: left=( nHeight - nWidth )/2
右图: top=(nWidth - nHeight)/2


   	  //获取原始宽高,并获取宽高中较大的
   	  int nWidth = bitmap_org.getWidth();
      int nHeight = bitmap_org.getHeight();
      int nMax = Math.max(nWidth,nHeight);
      //新建一个正方形的bitmap
      Bitmap  bitmap = Bitmap.createBitmap( nMax, nMax, bitmap_org.getConfig());

      float left = 0;
      float top = 0;
      if ( nWidth >= nHeight)
      {
          int nLen= nWidth - nHeight ;

          top =  (float) (nLen / 2.0) ;
      }
      else
      {
          int nLen=  nHeight - nWidth  ;

          left =  (float) (nLen / 2.0) ;
      }

      Canvas canvas = new Canvas( bitmap );
      //生成正方形
      canvas.drawBitmap( bitmap_org, left , top, null );
    
      canvas = null;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值