广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    android图像绘制(一)多种方法做图像镜像

    2018-04-04 08:35:08 次阅读 稿源:互联网
    广告
    在android中做图像镜像有很多方法,今天算是学习了!
    两种方法如下
    代码如下:

    //方法一
    Matrix matrix = new Matrix();
    matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前两个是xy变换,后两个是对称轴中心点
    matrix.postTranslate(x, y);
    canvas.drawBitmap(bmpLuffy[0], matrix, paint);
    //方法二
    // canvas.save();
    // canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
    // canvas.drawBitmap(bmpLuffy[0], x, y, paint);
    // canvas.restore();

    方法一,使用矩阵的方式(3x3)矩阵
    1、先使用postScale的方式将图片以点(bmpW/2,bmpH/2)为中心,以x=bmpW/2为对称轴翻转;
    2、使用postTranslate,将图片移到(x,y)坐标
    方法二,画布翻转(略)
    注意如下问题:
    对于其中的bmpW和bmpH是指所用图片的宽高,需要使用图片bmp.getWidth()和bmp.getHeight()获取,
    不能使用PC上看到的大小,否则可能会出现错位!
    -----------------------------------------------------------------------
    如果对Matrix不是很了解的话,可以参考api文档,或网络文章

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告