我希望您能将位图倾斜(如果这不是正确的词,请纠正我),以便它看起来具有深度。一个好的可视化方式是,想象一下星球大战的字幕如何倾斜以显示深度。
我尝试了以下方法:
我尝试了以下方法:
canvas.getMatrix().postSkew(kx,ky,px,py);
并且
canvas.skew(sx,sy);
但是我没有取得太大的成功。以上方法似乎总是将位图转换为平行四边形。有没有一种方法可以将位图转换为梯形呢?
这是我从Romain指给我的示例中提取的一小段代码。
canvas.rotate(-mOrientation[0] + mHeading, mCenterX, mCenterY);
camera.save();
if (mReverse) {
camera.translate(0.0f, 0.0f, mDepthZ * interpolatedTime);
} else {
camera.translate(0.0f, 0.0f, mDepthZ * (1.0f - interpolatedTime));
}
camera.rotateX(mOrientation[1]);
camera.applyToCanvas(canvas);
canvas.drawPath(mPath, mPaint);
canvas.drawCircle(mCenterX, mCenterY, mRadius - 37, mPaint);
camera.restore();