Поскольку телефоны Android выпускаются с различными разрешениями экрана, а мой пользовательский интерфейс «обложен» с использованием нескольких компонентов TImage, я столкнулся с серьезной проблемой при разработке, поэтому я должен масштабировать каждое из моих изображений относительно разрешения экрана устройства.
По какой-то причине, которую я не могу понять, в Android TImage интерполируется с использованием скейлера действительно низкого качества (возможно, ближайшего соседа), что приводит к отображению изображения очень низкого качества (это происходит, даже если масштаб экранапринимается во внимание, и качество формы устанавливается на высоком уровне).
Из-за этого это означает, что я могу предварительно масштабировать и включать несколько разных разрешений одного и того же изображения, надеясь, что оно будет выглядеть «достаточно близко».(и вздутие живота моего приложения), или я могу использовать программный алгоритм для масштабирования изображений в реальном времени, а затем кэшировать результат для последующих запусков.
Я выбираю второй вариант, используя программный бикубический скейлер, нопроблема в том, что мое приложение имеет так много ресурсов изображения, оно может18 секунд, чтобы загрузить первый раз на мобильное устройство высокого класса.
Я знаю, что возможно сделать то, что мне нужно в аппаратном обеспечении, используя OpenGL, но я не смог найти четкого/ чистый пример того, как это можно сделать в Delphi для Android.И даже если это можно сделать без перекодировки всего пользовательского интерфейса для OpenGL.
Есть ли что-то, чего мне не хватает в дизайне?Является ли решение от Embarcadero моим единственным шансом?