Слияние кода завершено, страница обновится автоматически
/**
* Делает изображение заполняющим экран
* Performs image scaling to fill the screen
*/
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));
}
/**
* Элемент текста, который не следует за масштабированием
* A text item that does not follow scaling changes
*/
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) { // Сохраняет множители до масштабирования. Records the multipliers before scaling
mScaleBefore = getDoodle().getDoodleScale();
}
}
@Override
public void doDraw(Canvas canvas) {
float scaleAfter = getDoodle().getDoodleScale();
setSize(mScaleBefore / scaleAfter * getSize()); // Устанавливает размер после масштабирования. Sets the size after scaling
super.doDraw(canvas);
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )