• 0
Maka

Скриншот без компрессии

Вопросы

Для анимации плавного появления тяжелого окна использую плавное появление предварительно сделанного с него скриншота

Код получения скриншота:

function Screenshot(ACntrl: TControl): TBitmap;
  var
    SourceRect: TRectF;
  begin
    SourceRect := TRectF.Create(0, 0, ACntrl.Width, ACntrl.Height);
    Result := TBitmap.Create(Round(SourceRect.Width), Round(SourceRect.Height));
    if Result.Canvas.BeginScene then
      try
        ACntrl.PaintTo(Result.Canvas, SourceRect);
      finally
        Result.Canvas.EndScene;
      end;
  end;

В Windows все нормально, а вот в Android результат получается нечетким (по всей видимости из-за использования какой-то компрессии).

image.png.f854b4baf6da3b58405d694f397afb64.png

Подскажите как повысить качество картинки?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 ответа на этот вопрос

  • 0

Попробуй вместо своей функции вызвать ACntrl.MakeScreenshot

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 20.11.2018 в 14:27, Tumaso сказал:

Попробуй вместо своей функции вызвать ACntrl.MakeScreenshot

Спасибо, то что нужно.

Изменено пользователем Maka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 20.11.2018 в 10:59, Maka сказал:

В Windows все нормально, а вот в Android результат получается нечетким (по всей видимости из-за использования какой-то компрессии).

Компрессия тут ни при чём. А виновато тут масштабирование. На Windows, я так понимаю, у Вас Scale = 1, а вот на Android - зависит от устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 20.11.2018 в 13:59, Maka сказал:

В Windows все нормально, а вот в Android результат получается нечетким (по всей видимости из-за использования какой-то компрессии).

Это из-за того что в FMX под андроид используется не нативная канва

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу