1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chinasoft_ohos-Doodle

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
extend.md 1.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.03.2025 17:46 2737bb7

Расширенный код

/**
 * Делает изображение заполняющим экран
 * 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/chinasoft_ohos-Doodle.git
git@api.gitlife.ru:oschina-mirror/chinasoft_ohos-Doodle.git
oschina-mirror
chinasoft_ohos-Doodle
chinasoft_ohos-Doodle
master