在动画下旋转位图

时间:2012-05-24 07:26:41

标签: android animation

我在以下代码的路径中创建了一个动画。

    public void doAnimation(){
        Matrix mxTransform=new Matrix();
        PathMeasure pm=new PathMeasure(path,false);
        float fSegmentLen = (float)((pm.getLength())/50);
        if(iCurStep<=50){
            pm.getMatrix(fSegmentLen * iCurStep, mxTransform,
                    PathMeasure.POSITION_MATRIX_FLAG + PathMeasure.TANGENT_MATRIX_FLAG );
             canvas.drawBitmap(bt, mxTransform, null);
             iCurStep++;
             invalidate();
        }
        else{               
            iCurStep=0;
            animate=0;
            canvas.drawPoint((float)range-10,0f,forPoint);
        }
    }

现在我希望在使用drawBitmap()方法绘制代码时旋转代码中的位图。感谢罪的进展。

1 个答案:

答案 0 :(得分:1)

要旋转图像,可以使用以下代码

public static Bitmap rotate(Bitmap src, float degree) {
    // create new matrix
    Matrix matrix = new Matrix();
    // setup rotation degree
    matrix.postRotate(degree);

    // return new bitmap rotated using matrix
    return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);
}

如果您需要更多解释,请参阅此链接http://xjaphx.wordpress.com/2011/06/22/image-processing-rotate-image-on-the-fly/