本文整理汇总了Java中android.graphics.Matrix.ScaleToFit方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix.ScaleToFit方法的具体用法?Java Matrix.ScaleToFit怎么用?Java Matrix.ScaleToFit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.graphics.Matrix
的用法示例。
在下文中一共展示了Matrix.ScaleToFit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setRectToRect
import android.graphics.Matrix; //导入方法依赖的package包/类
public static void setRectToRect(Matrix matrix, RectF src, RectF dst, int rotation, Matrix.ScaleToFit align) {
float tx, sx;
float ty, sy;
if (rotation == 90 || rotation == 270) {
sx = dst.height() / src.width();
sy = dst.width() / src.height();
} else {
sx = dst.width() / src.width();
sy = dst.height() / src.height();
}
if (align != Matrix.ScaleToFit.FILL) {
if (sx > sy) {
sx = sy;
} else {
sy = sx;
}
}
tx = -src.left * sx;
ty = -src.top * sy;
matrix.setTranslate(dst.left, dst.top);
if (rotation == 90) {
matrix.preRotate(90);
matrix.preTranslate(0, -dst.width());
} else if (rotation == 180) {
matrix.preRotate(180);
matrix.preTranslate(-dst.width(), -dst.height());
} else if (rotation == 270) {
matrix.preRotate(270);
matrix.preTranslate(-dst.height(), 0);
}
matrix.preScale(sx, sy);
matrix.preTranslate(tx, ty);
}