/**
* Make the picture fill the display
* 使图片填充屏幕
*/
public void centerCrop() {
RectF rectF = mDoodleView.getDoodleBound();
float scaleW = mDoodleView.getWidth() / rectF.width();
float scaleH = mDoodleView.getHeight() / rectF.height();
float scale = Math.max(scaleW, scaleH);
mDoodleView.setDoodleScale(scale, mDoodleView.toX(mDoodleView.getWidth() / 2), mDoodleView.toY(mDoodleView.getHeight() / 2));
}
/**
* Text item that does not follow the zoom
* 不跟随缩放变化的文字item
*/
public class FixedSizeDoodleText extends DoodleText {
float mScaleBefore;
public FixedSizeDoodleText(IDoodle doodle, String text, float size, IDoodleColor color, float x, float y) {
super(doodle, text, size, color, x, y);
}
@Override
public void setSize(float size) {
super.setSize(size);
if (getDoodle() != null) { // Record multiples before scaling. 记录缩放前的倍数
mScaleBefore = getDoodle().getDoodleScale();
}
}
@Override
public void doDraw(Canvas canvas) {
float scaleAfter = getDoodle().getDoodleScale();
setSize(mScaleBefore / scaleAfter * getSize()); // Resize after scaling. 缩放后重新设置大小
super.doDraw(canvas);
}
}