android – 如何将图像侧向或颠倒?

android – 如何将图像侧向或颠倒?,第1张

概述我有一个自定义视图,我使用onDraw()绘制到我的画布上.我正在画布上画一个图像. 我想将图像颠倒,有点像在水平线上翻转作为参考.这与将图像旋转180度或-180度不同. 同样,我想镜像或翻转sidways,即垂直线作为它的枢轴或参考.同样,这与canvas.rotate()提供的不同. 我想知道该怎么做.我应该使用矩阵还是画布提供任何方法来执行它像“旋转”. 谢谢. 你无法直接使用Canvas 我有一个自定义视图,我使用onDraw()绘制到我的画布上.我正在画布上画一个图像.

我想将图像颠倒,有点像在水平线上翻转作为参考.这与将图像旋转180度或-180度不同.

同样,我想镜像或翻转sIDways,即垂直线作为它的枢轴或参考.同样,这与canvas.rotate()提供的不同.

我想知道该怎么做.我应该使用矩阵还是画布提供任何方法来执行它像“旋转”.

谢谢.

解决方法 你无法直接使用Canvas.在绘制之前,您需要实际修改位图(使用Matrix).幸运的是,这是一个非常简单的代码:
public enum Direction { VERTICAL,HORIZONTAL };/**    Creates a new bitmap by flipPing the specifIEd bitmap    vertically or horizontally.    @param src        Bitmap to flip    @param type       Flip direction (horizontal or vertical)    @return           New bitmap created by flipPing the given one                      vertically or horizontally as specifIEd by                      the <code>type</code> parameter or                      the original bitmap if an unkNown type                      is specifIEd.**/public static Bitmap flip(Bitmap src,Direction type) {    Matrix matrix = new Matrix();    if(type == Direction.VERTICAL) {        matrix.preScale(1.0f,-1.0f);    }    else if(type == Direction.HORIZONTAL) {        matrix.preScale(-1.0f,1.0f);    } else {        return src;    }    return Bitmap.createBitmap(src,src.getWIDth(),src.getHeight(),matrix,true);}
总结

以上是内存溢出为你收集整理的android – 如何将图像侧向或颠倒?全部内容,希望文章能够帮你解决android – 如何将图像侧向或颠倒?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1134616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存