Перейти к содержанию
Fire Monkey от А до Я
  • 0

[TEdit] Почему при изменении масштаба TEdit.Scale, могут появляться артефакты в виде линий?


ivadimos

Вопрос

Рекомендуемые сообщения

  • 0

При ресайзе фрейма / компонентов появляются линии внутри компонента(не только TEdit).

 

9-path изображение из которых состоят все растровые скины, состоят из 9 кусочков, которые если компонент имеет дробные координаты или размер рисуются в дробных координатах, а сглаживание размазывает границы этих кусочков.

Вариант решения: следить за тем, чтобы размеры и координаты компонентов были всегда целыми числами. (обычно проблемы могут возникать при расположении компонентов на различных Layout-ах типа  TGridLayout, TScaledLayout)

Ссылка на комментарий
  • 0

 

Большое спасибо, помогло.

 

А мне что - то не помогло :( . Не поделитесь кодом для понимания ?

 

при определении размера компонента делайте примерно так.

tmpComponent.Width := Round(tmpComponent.Width * 0.2435); 

Обратите внимание на Align компонента. Т.к. если будет TAlignLayout.Top, то округление компонента не поможет, нужно округлять ширину его Parent.

Возможно всё это костыльно, но мне помогает.

 

Ссылка на комментарий
  • 0

 

 

Большое спасибо, помогло.

 

А мне что - то не помогло :( . Не поделитесь кодом для понимания ?

 

при определении размера компонента делайте примерно так.

tmpComponent.Width := Round(tmpComponent.Width * 0.2435); 

Обратите внимание на Align компонента. Т.к. если будет TAlignLayout.Top, то округление компонента не поможет, нужно округлять ширину его Parent.

Возможно всё это костыльно, но мне помогает.

 

 

 

Спасибо, попробую, отпишусь. 0.2435 - число на глаз ?

Ссылка на комментарий
  • 0

 

а что если взять и умножить на число Пи и красиво! и не 0.2435!

:))))))))

Вам известно другое решение?

 

Число  0.2435 я для примера привёл. Это ваш коэффициент ресайза)  :) 

Изменено пользователем ivadimos
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...