PaintCAD Mobile - журнал разработки

Аватара пользователя
blackstrip
Админ
Сообщения: 1341
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD Mobile - журнал разработки

Сообщение blackstrip » Пт июн 12, 2026 12:54 pm

Вышла версия 3.0.24

Изображение

Скачать:

Для Android 2.3 и новее:
APK: http://blackstrip.ru/PaintCAD.apk

Для Java2ME MIDP2.0 с Java-памятью 2 Мбайт и более:
JAR: http://blackstrip.ru/PaintCAD.jar
JAD: http://blackstrip.ru/PaintCAD.jad

Если андроид-версия при установке пишет что "Приложение устарело" и не устанавливается
или выдает что-то типа "Error: INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 24, but found 8"

Это значит что на вашем телефоне включена блокировка установки приложений, работающих на старых андроидах (некоторые производители смартфонов в последние годы стали встраивать подобные блокировки).

Паинткад - как раз такое такое приложение, работает на android 2.3 и выше.

Если на вашем современном телефоне стоит такая блокировка от производителя - то обойти ее и установить приложение для старых телефонов можно через утилиту adb (Android Debug Bridge) командой adb install --bypass-low-target-sdk-block путь_к_файлу.apk (тогда нужен комп с установленным adb.exe и соединить телефон с компом по кабелю или по wifi с галочкой в настройках "Отладка по usb"/"Беспроводная отладка").

Кстати, например, Xiaomi Redmi Turbo 3 (Poco F6) имеет на борту достаточно современный Android 16, но устанавливает любые приложения без ограничений и блокировок. Т.е. есть блокировка или нет - зависит от производителя смартфона.

Изменения

- весь интерфейс теперь автоматически масштабируется под большие экраны с мелкими пикселями и рисуется в "виртуальных пикселях", эмулируя экран телефона шириной/высотой около 100-200 точек (зависит от размера экрана)

Изображение

- во всех окнах вставки, выделения, выбора цвета: по кнопке "*" можно включить область увеличения 11x11 пикселей в левом нижнем углу экрана и гигантскую крестовину вместо мелкого курсора для более точного прицеливания

- во многих других окнах кнопка "*" включает режим масштабирования чтобы развернуть на весь экран и лучше рассмотреть рисунок в предпросмотре, в файловом менеджере, символ в обзоре шрифта и т.д.

- в окне выбора масштаба "Лупа" максимальный доступный масштаб увеличен до x100, и теперь дополнительно можно:
а) кнопками "ДжойВверх"/"ДжойВниз" выбирать масштаб в виртуальных пикселях,
б) кнопкой джойстика автоматически подобрать максимальный масштаб в реальных пикселях чтобы рисунок отображался без прокрутки,
в) зеленой кнопкой "Снять трубку" - такой максимальный масштаб в виртуальных пикселях без прокрутки,
г) кнопками "*"/"#" установить минимальный и максимальный масштаб в виртуальных пикселях

- функции "Размер растра" и "Повернуть" теперь работают как в PaintCAD 4Windows: Обычным (простой и быстрый), Умным (для пиксель-арта) и Сглаженным (со сглаживанием) методами, а еще "Повернуть" теперь поворачивает выделение на любой угол и может добавить закручивание углов

- палитру теперь можно сохранять в PAL файлы и загружать из PAL файлов (даже в 24-битном режиме), при загрузке можно сразу внедрить ее на рисунок, перерисовав его в цветах загруженной палитры

- в окне палитры можно нажать "0" и выбрать одну из стандартных палитр (ZX Spectrum, DOS VGA и др.), а также сразу внедрить ее на текущий рисунок, перерисовав его в цветах выбранной палитры (это тоже доступно и в 24-битном режиме тоже)

- функция "Мозаика" может раскладывать изображения не только рядами по сетке, но и раскидывать случайно

- новые эффекты "Цветная шерсть", "Цвета из буфера"

- эффект "Сканлайн" в меню эффектов заменен на "Расширитель" из PaintCAD 4Windows, внутри него 22 эффекта увеличения/обработки изображений включая бывший сканлайн

- новая функция "Области", позволяющая добавлять выделенную область в список и потом выделять эту область на других рисунках просто выбирая ее из списка сохраненных областей

- под андроидом заработали съемка фото с камеры и (с ограничениями, зависящими от версии андроида) съемка кадров из MP4/3GP/AVI видеофайлов, плеер для съемки кадров из видео доработан и теперь может снимать кадры как в файлы, так и сразу импортировать в паинткад

- BMX-анимации в 8-битном режиме можно превратить в анимированные GIF файлы прямо из "Плеера BMX", сам плеер BMX тоже доработан и стал похож на плеер для съемки кадров из видео

- пункт настроек "Чем рисуем...", а также долгое нажатие любой физической клавиши при запуске паинткада открывают настройку клавиш, где можно попытаться автоматически определить или вручную назначить любые физические клавиши любых экзотических java/android-устройств чтобы управлять паинткадом на любом из них

- виртуальная клавиатура стала более объемной (рельеф кнопок масштабируется с размером экрана) и теперь рисует разные значки на своих кнопках, зависящие от текущего окна (например, в плеерах показываются функции перемотки, а в функции "Повернуть" при выборе угла поворота - функции поворота на разный шаг и т.п.)

- в меню "Справка" вместо проверки объема памяти добавлен пункт "Инфо о системе", показывающий информацию о платформе, на которой запущен паинткад, о параметрах экрана, о текущем количестве свободной оперативной памяти и о файловой системе

- окно "Обновление" теперь показывает последнюю релизную версию и бета-версию, а под андроидом можно даже их скачать сразу из окна обновлений

Аватара пользователя
blackstrip
Админ
Сообщения: 1341
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD Mobile - журнал разработки

Сообщение blackstrip » Сб июн 13, 2026 3:42 pm

Уменьшаем размер паинткада

Уменьшать размер классов - трудно. Уменьшать размер интерфейсной графики (например, оставить только значки низкого разрешения) - жалко, да и этих значков не так много.

Можно уменьшить помощь - вместо текстов помощи записать пустые файлы. Тогда JAR станет меньше весить и заработает на каких-нибудь телефонах, которые строго контролируют размер запускаемого JAR файла и если он больше лимита - то вообще не запускают мидлет. Встречал такие старые нокии с экраном 128х128 пикселей, на них все мидлеты должны весить не больше сотни килобайт. На них-то паинткад точно не запустится, конечно. Но наверняка и другие телефоны с другим лимитом на размер мидлета есть.

Назовем такую версию паинткада Lowmem. Подпишем это в стартовое окно туда, где обычно пишется "Бета":

Изображение

Советы дня и помощь в ней показывают пустые окна:

Изображение

Сравнение размеров JAR и APK до и после вырезания помощи - паинткад похудел на 100 килобайт:

Изображение

Такое сокращение позволит на слабых устройствах запускать мидлет быстрей, а вот на свободный java-хип вряд ли повлияет, т.к. файлы помощи подгружаются в память не все сразу, а по одному при просмотре конкретной страницы помощи. Разве что если ява каким-то образом будет занимать хип распакованным из JAR и запущенным паинткадом.

Ссылки на скачивание разместим ниже обычных ссылок с припиской "LM-":

Изображение

Скачать Lowmem-версию PaintCAD Mobile 3.0.24 с вырезанной помощью:

Для Android 2.3+:
APK: http://blackstrip.ru/pcmlm/PaintCAD.apk

Для Java2ME MIDP2.0:
JAR: http://blackstrip.ru/pcmlm/PaintCAD.jar
JAD: http://blackstrip.ru/pcmlm/PaintCAD.jad

Аватара пользователя
blackstrip
Админ
Сообщения: 1341
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD Mobile - журнал разработки

Сообщение blackstrip » Сб июн 20, 2026 10:43 am

По мотивам версии 3.0.24 выпущено две статьи:

Про подробности выпуска 3.0.24 и изменений в нем по сравнению с прошлыми версиями - релизной 2.6.23 и бетой 2.7 beta 1, на Хабре:
https://habr.com/ru/articles/1047280/

Про стартовую настройку паинткада при установке с нуля, здесь в разделе мобильных Java-приложений:
http://blackstrip.ru/phpBB2/viewtopic.p ... 3619#p3619

Аватара пользователя
blackstrip
Админ
Сообщения: 1341
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD Mobile - журнал разработки

Сообщение blackstrip » Пт авг 07, 2026 11:40 pm

Потестив мобильный паинткад на разных телефонах появилось несколько идей и мыслей, которые превратятся в PaintCAD Mobile 3.1.25.

1) убираем ExtendedImage

У сименсов есть такой класс ExtendedImage. Это черно-белый рисунок, у которого даже в старом MIDP 1.0 можно было просто узнавать в какой точке какой цвет лежит. На других телефонах только с MIDP 2.0 появилась такая возможность - узнавать какого цвета какая точка в обычном Image.

Поэтому для буфера отрисовки примитивов он до сих пор используется для сименсов - на нем рисуется, например, линия или эллипс, а потом переносится уже цветом ПЦ на рисунок. Уберем его вообще из паинткада. Всегда будет использоваться только обычный Image для любых моделей телефонов.

И т.к. теперь формат отрисовки только один - на Image, то выкинем лишние два класса, и все из третьего (теперь, единственного работающего с Image для любых моделей телефонов) перенесем в главный класс ExtImage. По ощущениям на эмуляторе - после этого и стартует паинткад быстрее после выбора макс.размера рисунка (вероятно Image создается быстрее чем ExtendedImage), и рисует всякие линии и т.п. побыстрее.

2) обновим значок "Повернуть" для мелких разрешений экрана

На нем все еще нарисовано число "90", хотя с версии 3.0 поворот уже не на 90 градусов, а на любой произвольный выбранный угол. Да и на значках большого разрешения числа "90" нет.

Было и стало:

Изображение Изображение

Аватара пользователя
blackstrip
Админ
Сообщения: 1341
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD Mobile - журнал разработки

Сообщение blackstrip » Вт авг 11, 2026 8:56 pm

3) убираем автодописывание папок к пути без диска

У сименсов и нокий, если ввести при открытии/сохранении только имя файла (1.bmp), то к пути будет дописаны пути на базовом диске типа Pictures/Graphics/Animations. Это было удобно - сразу сохранять файлы в 0:\Pictures\, не вводя путь и не залезая в файловый менеджер.

НО если в эмуляторе (как в ходе тестов обнаружилось на Jbed в Windows Mobile 6.0) есть классы Siemens, а диски в эмуляторе совсем не сименсовские (сименсовские это, например, 0:/ или a:/) - то начнутся интересные вещи. К путям будет приписываться, например, Pictures, и паинткад не сможет сохранять или загружать файлы вообще.

Вот такой путь SDMMC/Pictures/tst.bmp с диском SDMMC превращался в паинткаде в 0:/Pictures/SDMMC/Pictures/tst.bmp (т.к. телефон авто-определился как Siemens на первом фото, а диска 0:/ или любого другого X:/ в пути на втором фото нет) и ничего не сохранялось, да и не загружалось тоже:

Изображение Изображение

Убираем эти авто-добавки. Теперь диск+путь+имя файла это ровно то, что в поле ввода, на любых моделях телефонов. И теперь, в частности, на эмуляторе JBed на этом Glofiish M800 все должно заработать при любом выбранном/автоопределенном устройстве в стартовом окне.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость