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

Как масштабировать Bitmap на смартфоне?


Sashar333

Вопрос

Здравствуйте! Подскажите пожалуйста почему такая в масштабе разница отрисовки в Bitmap.Canvas в Windows и Android, и как ее настроить?

Windows: image.png.617875e950c8485106f481632242f940.png 

Android: image.png.d1e3e1d148d4f38c88c06ba8ff219a2d.png 

 

Дано:

1. Массив с координатами прямоугольников и их габаритами (миллиметры)

2. Поле для расположения этих прямоугольников ширина 2000мм длина 6000мм (ширину и длину может менять пользователь но не более этих размеров)

Задача:

Вывести в Bitmap на экран это поле с расположенными прямоугольниками

на картинках "Лист" - это Image

 

Не могу понять как подогнать Bitmap.size под все экраны

вот мой код:

image.png.51ce60538f66dcc6130dd1fb1a47536a.png

Спасибо за внимание!

image.png

image.png

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

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

  • 0
3 часа назад, MAD_EVAL сказал:

Смею предположить что всему виной DPI, скорее всего надо узнать его значение и учесть в расчёте

На новой форме с такой же процедурой рисует так как надо!?

Уже и все остальные картинки удалил, которые были загружены, логотипы и т.д

такое ощущение что где-то какие-то настройки сохранились... 

Ссылка на комментарий
  • 0
В 20.04.2020 в 17:38, Sashar333 сказал:

Может еще есть у кого-то предположения или подсказки?

Scale устройства учитываете?

Что возвращает такая функция:

function GetScreenScale: Single;
var ScreenService: IFMXScreenService;
begin
  Result := 1;
  if TPlatformServices.Current.SupportsPlatformService (IFMXScreenService, IInterface(ScreenService)) then
    Result := ScreenService.GetScreenScale;
end;

 

Ссылка на комментарий
  • 0
13 часов назад, #WAMACO сказал:

Scale устройства учитываете?

Что возвращает такая функция:


function GetScreenScale: Single;
var ScreenService: IFMXScreenService;
begin
  Result := 1;
  if TPlatformServices.Current.SupportsPlatformService (IFMXScreenService, IInterface(ScreenService)) then
    Result := ScreenService.GetScreenScale;
end;

 

В общем вставил картинку в этот bitmap в начале приложения, типа логотипа, там, видимо все автоматом настроилось, а потом уже выводит в нормальном масштабе!

Сапсибо!

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

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

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

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

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

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

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

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

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

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