#java #resources #codenameone #image-scaling #image-size
Вопрос:
Приложение My CodenameOne в основном предназначено для того, чтобы быть аналогом iOS существующего приложения для Android. Это для старых устройств, на самом деле, как можно скорее или в будущем приложение Swift заменит его для OS 14>.
Мне нужны несколько настраиваемых значков, и у меня есть код svg для этого.
Изначально мне пришлось использовать инструмент Flamingo, который преобразует svg-файлы в классы Java. Я использовал его как
ScaleImageButton appButton=new ScaleImageButton(new AppIcon().scaled(doubleButtonSize,doubleButtonSize).toImage());
Это громоздко, но оно даже не работает на iOS.
Поэтому теперь я прибегнул к созданию изображений png для каждой иконки на каждом уровне dpi, как это также можно сделать на Android.
Я переименовал файлы, чтобы они соответствовали стандарту, который, по-моему, предложен в CodenameOne. Возможными названиями являются:
verylow.png
low.png
medium.png
high.png
veryhigh.png
560.png
hd.png
2hd.png
4k.png
В конце концов, его нужно использовать как
Image icon = theme.getImage("icon.png");
Похоже, что изображения могут быть импортированы в проект более чем одним способом.
Мне сказали включить их в тему.
Согласно руководству разработчика CN1, я должен установить размер для каждого.
Если я импортирую их целиком (выбрав папку или выбрав все изображения и нажав кнопку «Открыть»), в редакторе тем появится диалоговое окно со всеми неправильными размерами (но они напоминают определенный набор вариантов, хотя это очень маловероятно).
Они не всегда имеют одинаковые размеры, но и не имеют значения по умолчанию в соответствии с предоставленным набором изображений.
Я предоставляю изображения в виде 24 пикселей, 36 пикселей, 48 пикселей, 72 пикселей, 96 пикселей, 144 пикселей, 192 пикселей, 288 пикселей, 384 пикселей для значков обычного размера, а также предоставляю изображения двойного размера для значков двойного размера в моем приложении (значения не удваиваются, как ожидалось).
Я также должен проверить параметры «Квадратное изображение» и «Сохранить соотношение сторон» (мои изображения уже квадратные).
Тогда самое странное, что есть процент, я вижу, например, 20. Подпись гласит: «повлияет на все записи». Я понял, что масштабирование изображений-это то, чего разработчик просто не хочет, если только у разработчика нет неправильных размеров, но все равно пропорции между собой, я думаю, этого не может быть.
Однако мне не нужно никакого масштабирования, изображения такие, какие они есть. Я создал их специально.
Руководство разработчика для меня недостаточно понятно.
Поэтому я спрашиваю
правильно ли настраивать неправильный размер, чтобы он соответствовал правильным, и как насчет процента?
Ответ №1:
Этот конкретный пользовательский интерфейс к настоящему времени немного устарел и почти не использовался, даже когда он был добавлен. Большинство пользователей выбрали масштабирование рабочего стола для нескольких изображений.
Опция масштабирования предназначена для уменьшения масштаба изображения с высоким разрешением на рабочем столе. Вы не хотите/не нуждаетесь в этом.
Вам не нужно редактировать файл. Просто обязательно включите командный режим XML и убедитесь, что ваши изображения используют правильные имена файлов. Затем, как только вы сохраните изображения, они появятся в файле ресурсов.
Я предлагаю добавить несколько изображений, используя стандартный метод добавления в меню. Затем замените все сгенерированные изображения своими копиями и снова откройте файл, затем сохраните его снова (последнее сохранение важно, так как оно переопределит файл res).