【问题标题】:Rotate, Scale, and Translate Bitmap on Canvas在画布上旋转、缩放和平移位图
【发布时间】:2012-02-14 18:24:06
【问题描述】:

我正在尝试旋转、缩放和平移图像以在 Canvas 上绘图。但是,事实证明订单很麻烦,我无法让所有东西都正确排列。

Matrix matrix = new Matrix();
//matrix.postRotate(90f);
matrix.postScale(scaleFactor, scaleFactor);
matrix.postTranslate(screenCoords.x - scaleWidth/2, screenCoords.y
    - scaleHeight/2);

c.drawBitmap(blackJackBM, matrix, this.mPaint);

在这种情况下,缩放和平移可以正常工作,但是取消注释旋转代码会导致图像偏移,在这种情况下,偏移到应该绘制的位置的左侧。有什么想法吗?

【问题讨论】:

    标签: android bitmap matrix


    【解决方案1】:

    postRotate(float) 从左上角开始旋转矩阵。请改用 postRotate(float, centerX, centerY)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 2014-02-24
      • 2016-06-11
      • 2018-11-10
      • 2019-02-05
      • 2012-02-09
      相关资源
      最近更新 更多