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

MultiResBitmap в TImageList


Вадим Смоленский

Вопрос

Опубликовано

ImageListTestProject.zipПытаюсь организовать на контролах выдачу битмапов разного размера в зависимости от экранного разрешения, но безуспешно. Нигде толком не объяснено, как этого достичь при использовании TImageList.

В прилагаемом тестовом проекте несколько TSpeedButton разного размера с картинкой, ссылающейся на TImageList. В его Source несколько битмапов разного размера (и разного цвета для наглядности); в соответствующие боксы Scale заведены коэффициенты для этих размеров:

24х24: 1.000 (черный)
30х30: 1.250 (красный)
36х36: 1.500 (синий)
48х48: 2.000 (зеленый)
72х72: 3.000 (коричневый)

При выставлении на компьютере экранного разрешения 125% или 150% ничего не меняется, картинки по-прежнему черные. Если выставить 175%, они становятся красными. Налицо странное несоответствие между значением Scale и реальным dpi. Во всех случаях изображение растянуто, с заметной потерей качества — не достигается эффект, ради которого вся эта функциональность затеяна. Отдельно удивляет то, что качество почему-то получается слегка разным на разных кнопках, хотя кнопки отличаются лишь собственным размером, а размер картинок одинаков.

Буду признателен, если кто-нибудь прольет свет.

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

Ответов пока нет

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

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

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

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

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

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

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