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

前端之家收集整理的这篇文章主要介绍了android – 如何将图像侧向或颠倒?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个自定义视图,我使用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);
}
原文链接:https://www.f2er.com/android/314084.html

猜你在找的Android相关文章