Вниз  Графический редактор PaintCAD 4Windows
- 23.03.2016 / 06:50
blackstrip
  Пользователь

blackstrip 
Сейчас: Offline
Цитата ВитаминКО:
Правда, леть эдак на пять опоздал с этим обновлением :-(

Оптимальным вариантом будет написать под андройд программу и уже поддерживать эту версию.
В принципе, на дроид можно сразу переносить версию
Я в виндовской отлаживаю и в мобильную только потом переношу. А виндовскую с 2010 по 2015 пришлось писать) В 2010 я не имел на руках андроида, не было микроему, а на мобиле свободной памяти после запуска паинткада оставались копейки (о чем свидетельствует 2.6 - теперь яве сименсов х65-75 с 1.5 Мб хипа не хватает оперативы чтоб распаковать jar и загрузить все классы), а если б я тогда начал делать втупую альфаканал, примотал бы к рисунку и буферу в параллель альфу рисунка и альфу буфера, то хипа после запуска оставалось бы отрицательное колво или хватало бы на рисование риснка 5х5 пикселей. Ну и кому такая прога была бы нужна на еще живущих в то время сименсах и др мобилах с мелкой оперативкой? Паинткад бы сдох и разрабатывать его не было бы смысла, т.к. он бы работал с перебоями и outofmemory-ми даже на бенксименсе е71 моем с 3 метрами оперативы.
- 23.03.2016 / 08:34
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
blackstrip, это ты пояснил по поводу задержки обновления.

А что насчет нормальной версии для робота?
__________________
 わからない!!
- 23.03.2016 / 08:44
blackstrip
  Пользователь

blackstrip 
Сейчас: Offline
Хотя, конечно, кто нибудь напишет что в ппм все было уже тогда с альфой и работало) тут проблемы:
Можно рисовать в яве на объекте Image, он в теории прекрасно поддерживает альфа-канал и занимает свои 4 байта на каждый пиксель рисунка (A,R,G,B байты). НО, как недавно мною обнаружилось, в сименсе SL75, например, и (я думаю)других мобил конца эпохи сименсов альфа 2 цветная всего лишь (не 256 как должно быть). Поэтому когда говоришь мобиле "грузи пнг с альфой", она в ответ отдает испорченную альфу. Соответственно, надо было бы писать встроенный декодер пнг, чтоб он работал взамен автоматических средств загрузки картинки из файла. И хрен знает как бы повел себя сименс, если б записывать 256 цветную альфу в image при редактировании (возможно, он бы ее деградировал бы в 2 цветную автоматом). Поэтому опасно использовать image для загрузки из файла и хранения данных изображения, мобила может их испортить.

В паинткаде Image используется только для загрузки из файла через функции "открыть ???" и для вывода картинки на экран. Что касается данных изображения - в 8битном режиме они лежат в дублирующем массиве, из которого периодически проводится перенос цветов в соответствии с палитрой для вывода на жкран. В 24 битном режиме rgb данные изображения хранятся в Image, но альфа в Image не хранится. Поэтому можно спокойно создать хоть на sl75 рисунок, в буфере создать нормальную 256 оттеночную человеческую альфу и запихать ее в пнг, несмотря на отсутствие поддержки полноценной прозрачности в Image в этом телефоне.

Но дублирующие буферы жрут память и это минус такого принципа работы с изобрадениями. Рисунок в 8битном режиме занимает 5 байт на точку (4 в image, 1 в дублирующем буфере), буфер отмены посл действия в 8 битном режиме 1 байт на точку кажись (восстанавливается дубл.массив, а рисунок перерисовывается, поэтому в 8битном отмена такая тормозная), 5 байт на точку для ьуфера копирования вставки (аналогично рисунку), 4 байта для компаратора (это для рисования анимаций и сравнения кадров, забирается по "джойвправо-в компаратор" в image картинка и по кнопке 5 в Предпросмотре переключается картинка текущая/картинка компаратора), плбс для работы эффектов нужен вспомогательный буфер (еще 1 байт на точку).

В 24битном режиме картинка image 4 байт на точку, буфер отмены image 4 байт на точку, буфер копирования/вставки image 4 байт на точку, буфер компаратора image 4 байт на точку, вспомогательный буфер image для эффектов 4 байт на точку. И при этом альфа не входит в image рисунка/буфера (байты альфы не задействуются в image, хотя они занимают память), а может только содержаться временно в буфере.

Видно что и в 8битах и в 24битах все разрастается по сравнению с обычным, вроде бы интуитивным, использованием Image картинки, буфера отмены, буфера копирования вставки, причем все три уже с поддержкой альфы внутри (и можно тогда, как просит magatino, сразу рисовать рисунки с альфой на экране средствами мобилы, и копировать/вставлять их друг на друга средствами явы и простыми формулами смешивания двух картинок с двумя альфами). Но если бы я взял чисто работу с image вместо дублирующих буферов - то:
- никогда бы не было в паинткаде 8 битного (256 цветного) режима с поддержкой палитры, где можно сделать 16 или 4 (или 38, или любым другим от 1 до 256) цветов и рисовать только этими оттенками, а потом аккуратно сохранить это в 8 битный bmp или gif, куда будут перенесены четко ваша палитра и ваши номера цветов с рисунка. Вместо этого бы пришлось 24битную картинку каждый раз при сохранении портить до 256 цветов, спрашивая кучу параметров (как ее испортить, сделать ли дизеринг), это полное гно, а не рисование с индексированной палитрой
- и альфа бы на мобиле типа сонерика с 256 оттенками альфы работала бы полноценно, а на сименсе работала бы через одно место, и все бы плакали "ничо не работает", а я бы отвечал "ну сименс овно, не умеет работать с полноцветной альфой в image)".

Так что мне кажется, тот путь развития паинткада, который я выбрал - лучше чем простое рисование на image в 24битах. Т.к. в нем теперь есть и рисование в полноценных 256 цветах с индексированной палитрой, и аппаратно-независимая поддержка альфа канала. Хоть и жрет он при этом больше оперативки и уже не запускается на всяких cx75 (разрослися классы), и не "интуитивно-казуально" редактирует изображения с альфой, а жестоко с прорисовкой альфы вручную в буфере и ручным рендером, но зато с возможностью применения эффектов чисто к альфе (размазать ее, градиенты сделать для эффектов свечения и т.д.)
- 23.03.2016 / 08:46
blackstrip
  Пользователь

blackstrip 
Сейчас: Offline
Цитата ВитаминКО:
blackstrip, это ты пояснил по поводу задержки обновления.

А что насчет нормальной версии для робота?
А для какого такого робота?)

а, для андроида? ну нее, это мне лень переписывать с нуля под андроид. Жизнь коротка чтоб по 5 лет выкидывать на каждую платформу. Мне и в микроему-порте хорошо рисуется.

Изменено blackstrip (23.03 / 08:48) (всего 1 раз)
- 23.03.2016 / 09:38
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
blackstrip, LOL, в смысле переписывать?Делфи вроде научилась в андройдУже года три как. Если ты под винду пишешь на дельфях, то стоит попробовать собрать. Попытка не пытка ведь :hack:

Delphi 10 SeattleВыпущена 31 августа 2015 года.

Основные нововведения среды разработки
Firemonkey и VCL поддерживают Windows 10;
Drag and Drop в другие приложения на OS X;
Новые стили Firemonkey;
Удвоенный размер проектов в IDE (позволило фактически удвоить поддерживаемый размер проектов и повысить стабильность и производительность при работе с крупными проектами, особенно для нескольких платформ);
Доработаны процедуры разработки, тестирования и составления документации
Отладка 64-битных приложений iOS;
Поддерживается iOS 8.4;
Поддерживается Android 5.1.1;
Поддержка служб Android;
Поддержка модульного тестирования DUnitX для Android и iOS;
Поддержка DirectX 12;
Поддержка вызова API WinRT;
Поддержка FireDAC для базы данных NoSQL MongoDB;
Новое поведение MultiView;
Новые компоненты VCL;
Новые компоненты для работы с Beacon;
Улучшен механизм стилей;
Улучшен диспетчер библиотек GetIt;
Улучшены возможности IDE;
И многое другое
https://ru.wikipedia.org/wiki/Delphi_(среда_разработки)
__________________
 わからない!!
- 23.03.2016 / 10:12
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Цитата blackstrip:
кто нибудь напишет что в ппм все было уже тогда с альфой и работало.
Можно рисовать в яве на объекте Image, он в теории прекрасно поддерживает альфа-канал
Вовсе нет, Image тут уже не помощник, пришлось делать тоже на массиве пикселей без участия Image.
Но вопрос о количестве памяти я оставил на самих пользователей, так что никаких ограничений не добавлял. Но даже слабые Nokia S40 прекрасно справлялись с прозрачным изображением размером с экран, хоть и без буфера отмены.
__________________
 let live
- 23.03.2016 / 10:55
blackstrip
  Пользователь

blackstrip 
Сейчас: Offline
Цитата ВитаминКО:
blackstrip, LOL, в смысле переписывать?Уже года три как. Если ты под винду пишешь на дельфях, то стоит попробовать собрать. Попытка не пытка ведь :hack:

https://ru.wikipedia.org/wiki/Delphi_(среда_
На дельфи 7 весь паинткад насквозь пронизан винапи, работой с памятью в некоторых местах и т.п. "дельфи под андроид" же это какая то надставка (огненная макака что ли, firemonkey), в которой от виндовской дельфи остался синтаксис паскаля. Я и на бейсике могу написать, и на паскале, и на сишарпе шпарить чего нить для виндоусфона или для кроссплатформенной юнити, которая под все делает проги. Но эти фаерманки, юнити-уюнити мультиплатформенные, лазарусы в линуксе - это для казуалов-питонистов веселые утилиты, чтоб не думать, не оптимизировать проги под конкретную платформу, а писать и клепать, писать и клепать. У меня с андроидом один путь - эклипсы/интеллиджидеи, либо еще хотел посмотреть ndk, где на си чтото пишется под андроид вроде. Но пока у меня эклипс валялся под андроид писать, что то я даже там по мелочи делал. Вот на нем я скоро под андроид буду делать, но не паинткад, а игры)
- 23.03.2016 / 11:22
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
blackstrip, ну ты и зануда..

А чего тогда опенсорс не сделать, коли все равно денег не берешь? Глядишь, помогут говнокод разгрести и адаптировать для компиляции под дроид с надстройкой фиреманки
__________________
 わからない!!
- 23.03.2016 / 11:44
blackstrip
  Пользователь

blackstrip 
Сейчас: Offline
Цитата ВитаминКО:
blackstrip, ну ты и зануда..

А чего тогда опенсорс не сделать, коли все равно денег не берешь? Глядишь, помогут говнокод разгрести и адаптировать для компиляции под дроид с надстройкой фиреманки
ну ты б написал большой проект под vb, писал бы его 5 лет, например, а потом тебе бы советовали его на кубейсик досовский переписать, ибо "это же тоже бейсик!", а потом после твоих объяснений что это как огонь и вода тебе написали бы "ну ты зануда...")) win32 delphi 7 это одно, андроид разработка это другое, мешать все вместе нехорошо и неоптимально, даже если все идеально смешается (хотя это бред, везле свои костыли) а т.к. я выбираю писать или нет - то я выбираю не писать под фаерманки. Хочешь сам напиши паинткад под фаерманки, посмотрим какой длины у тебя будет борода к концу процесса. Только когда андроид загнется через 5 лет, сменившись на комповскую винду в карманных девайсах или на какую нибудь другую хрень - вот тогда будешь сидеть в обнимку с фаерманки и не знать что делать, ибо все будет заточено под нее. Я так бездумно силы на разработку расходовать не буду.

А опенсорс вообще придумали люди, которые хотят быстро получать исходники отовсюду. Код это работа. Это личный багаж, который ты применяешь потом в разных ситуациях. А сидеть плодить и форкать проекты, чтоб их был миллион, воровать эти коды, спорить изза лицензий с ворами, встраивать в чужие проекты вредоносные части и распространять их от лица разработчика - мне неохота думать об этом. Проприетарное ПО рулит. А кому нужны коды - пусть лезут в справочники, книжки, читают статьи на хабре, думают головой, развивают воображение. Это лучше чем форкать.
- 23.03.2016 / 11:50
blackstrip
  Пользователь

blackstrip 
Сейчас: Offline
щичас линуксоиды меня съедят...
Наверх  Всего сообщений: 633
Фильтровать сообщения
Поиск по теме
Файлы топика (38)