PaintCAD для Windows - журнал разработки

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

Re: PaintCAD для Windows

Сообщение blackstrip » Чт июл 18, 2013 6:12 pm

Да там другая проблема - там индикатор прогресса (который слева снизу ползет от 0 до 100%), управляемый скроллбаром, неправильное сочетание значений максимума и текущего получает из алгоритма (типа "высота рисунка минус 1"). Отсюда проблема, скроллбар уезжает далеко, слишком далеко, за максимум) Спасибо, поправлю.

CathodeInductance
Новичок
Сообщения: 7
Зарегистрирован: Пн июл 15, 2013 5:31 pm

Re: PaintCAD для Windows

Сообщение CathodeInductance » Чт июл 18, 2013 10:40 pm

Понятно. Кстати, эффект Snow имеет такую же проблему (ошибка out of range). Ну, а еще в эффекте Stone, на маленьких изображениях (например, 200x5), тот же прогрессбар недобегает до конца (видимо, на последней итерации цикла не происходит инкремент).

Пожалуйста. Всегда рад помочь! :)

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

Re: PaintCAD для Windows

Сообщение blackstrip » Сб июл 20, 2013 10:04 am

Выложена тестовая 1.2.3.880
Скачать: http://blackstrip.ru/paintcad.exe
Класть: в папку с версией 1.2.2, перезаписывая оригинальный exe (тогда подгрузятся ваши настройки). Или просто в пустую папку.

Изменения:
- исправлена ошибка индикатора прогресса при применении различных эффектов к рисунку высотой 1 пиксель

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

Re: PaintCAD для Windows

Сообщение blackstrip » Ср июл 24, 2013 3:00 pm

Выложена тестовая 1.2.3.881
Скачать: http://blackstrip.ru/paintcad.exe
Класть: в папку с версией 1.2.2, перезаписывая оригинальный exe (тогда подгрузятся ваши настройки). Или просто в пустую папку.

Изменения:
- в меню "Помощь" добавлена команда "Заряд батареи" (Shift+F1), показывающая в индикаторе прогресса заряд батареи вашего ноутбука в процентах и время до полной разрядки с точностью до секунды

Суть:
В меню "Помощь" теперь есть пункт "Заряд батареи", проверяющий заряд батареи (аккумулятора) ноутбука. Его легко вызвать по Shift+F1.
Изображение

После его вызова - на индикаторе прогресса паинткада будет показана информация о заряде и об оставшемся времени с точностью до секунды. Оставшееся время работы гуляет в зависимости от того, что вы делаете: если сильно крутите жесткий диск и подсветка на максимум - то время одно, если ж/д стоит на месте, а подсветка слабая - то оставшееся время работы гораздо больше.

Вот так оно выглядит, когда ноутбук/нетбук на зарядке:
Изображение

Вот так, когда разряжается:
Изображение

А вот так, когда это стационарный компьютер, питается от сети и в нем нет аккумуляторов никаких:
Изображение

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

Re: PaintCAD для Windows

Сообщение blackstrip » Сб июл 27, 2013 3:29 am

Выложена тестовая 1.2.3.882
Скачать: http://blackstrip.ru/paintcad.exe
Класть: в папку с версией 1.2.2, перезаписывая оригинальный exe (тогда подгрузятся ваши настройки). Или просто в пустую папку.

Изменения:
- в меню "3D"-"Файлы" добавлена возможность загрузки и сохранения JPS стереофайлов, например, теперь можно делать анаглифы и стереопары из 3D JPS-скриншотов, снятых по Alt+F1 в любых трехмерных играх, показываемых на вашем 3D мониторе с помощью Nvidia 3D Vision или на вашем 3D телевизоре с помощью Nvidia 3DTV
- в меню "Файл"-"Открыть"-"..." и "Файл"-"Сохранить"-"..." добавлен JPS формат стереофайлов (эти функции дублируют соответствующие пункты в меню "3D"-"Файлы")

Вот примеры скриншотов, снятых в World of Warcraft в виде JPS-файлов при показе через Nvidia 3DTV, затем загруженных в паинткад и превращенных в красно-голубые анаглифы (для просмотра нужны анаглифные очки):
СкриншотыПоказать









































































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

Re: PaintCAD для Windows

Сообщение blackstrip » Вт июл 30, 2013 11:08 pm

Выложена тестовая 1.2.3.888
Скачать: http://blackstrip.ru/paintcad.exe
Класть: в папку с версией 1.2.2, перезаписывая оригинальный exe (тогда подгрузятся ваши настройки). Или просто в пустую папку.

Изменения:
- теперь выбранный язык интерфейса и настройки в меню сохраняются при выходе и подгружаются при следующих запусках паинткада
- в окне неожиданной ошибки: после вызова Перезапуска или Выхода паинткад всегда пытается сохранить текущую сессию и настройки паинткада
- в меню "Настройки"-"Общие" добавлена настройка "Загружать прошлую сессию при запуске", позволяющая при запуске "вспомнить" из прошлой сессии рисунок, буфер, палитру, границы выделения и положение курсора, по умолчанию эта настройка включена.

Исправления ошибок:
- теперь настройки палитры не сбрасываются при смене языка интерфейса

CathodeInductance
Новичок
Сообщения: 7
Зарегистрирован: Пн июл 15, 2013 5:31 pm

Re: PaintCAD для Windows

Сообщение CathodeInductance » Чт авг 08, 2013 10:02 am

Тут мне пришла в голову интересная идея (которую, возможно, уже где-нибудь, да предлагали) - скрипты-плагины, работающие в паинткаде. :lol:

Суть такова??: встроить какой-нибудь (или сделать свой) интерпретатор скриптов и запилить в нем интерфейс к паинткаду: предоставить скриптам
а) возможность управлять паинткадом на уровне UI - для автоматического "щелканья" по окнам так, как будто это делает юзер,
б) доступ к алгоритмам обработки изображений - для запуска на исполнение различных эффектов и
в) доступ к пикселям изображения - чтобы можно было писать свои эффекты (которые, конечно, будут работать очень медленно); это можно расширить до базовых функций рисования - линии, эллипсы, прямоугольники и пр., хотя в этой конкретной ситуации, мне кажется, они не особо нужны.

Я уверен, что такую штуку будет не очень трудно реализовать (кроме первого варианта - зависит от того, как паинткад построен внутри). Для таких целей не нужен полноценный и сложный для парсинга ЯП. Два типа данных (boolean и float),операторы арифметики (+, -, *, /, %) и логики (&&, ||, !), переменные, if'ы, for'ы, может быть while'ы, комменты, несколько встроенных функций и всё - этого будет вполне достаточно. Теоретически, можно вынести операторы во встроенные функции (например "add(a, b)" вместо "a + b" или "and(a, b)" вместо "a && b") - тогда будет меньше геморроя с парсингом.

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

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

Re: PaintCAD для Windows

Сообщение blackstrip » Чт авг 08, 2013 11:40 pm

=) Вот сколько раз я уже подумывал над скриптами:

1) 09.12.2006 13:02 Скрипты изменения размера рисунка
http://waper.ru/forum/topic/209204?page=522#3765660
В принципе можно. Это будет обработка пачки рисунков. Я вот уже подумываю может скрипты сделать =) Т.е. например надо переразмерить рисунки 1.gif,2.gif,rewe.gif,bbb.gif: и просто пишешь в скрипте
OpenGIF 0:/Pictures/1.gif
ChangeRasterTo 132,176
SaveGIF 0:/Pictures/1.gif
OpenGIF 0:/Pictures/2.gif
ChangeRasterTo 132,176
SaveGIF 0:/Pictures/2.gif
OpenGIF 0:/Pictures/rewe.gif
ChangeRasterTo 132,176
SaveGIF 0:/Pictures/rewe.gif
OpenGIF 0:/Pictures/bbb.gif
ChangeRasterTo 132,176
SaveGIF 0:/Pictures/bbb.gif
Этот скрипт набираешь, запускаешь =) И всё автоматом делается =) А список всех команд в помощь запхнуть. Может и осуществлю такое =) Хотя конечно возиться долго... =)
2) 06.03.2008 02:44 "и я построю свой скриптовый движок с блекджеком и ш"
http://waper.ru/forum/topic/250737?page=232#5536818
Я думаю я построю скриптовый движок. И на него навешаю модулей в виде текста, которые этот движок будет выполнять. Тогда весь паинткад будет состоять из кучи маленьких программ. Можно будет редактировать существующие или дописывать свои куски паинткада. Можно будет создавать новые эффекты и плагины, например добавить свою открывалку какого нить нового формата рисунков. Внутри паинткада лежать будут эти же скрипты (можно будет распаковать jar, поправить скрипты, запаковать обратно). Единственный минус - это тормоза. Ну если уж я собираюсь перейти на кеширование на флешу (то есть чтоб открыть большой рисунок - паинткад будет использовать флешу или внутреннюю память мобилы для временного хранения данных вместо маленькой оперативной памяти), то уже еще хуже не будет =) Зато можно будет прям в паинткаде дописывать новые свои спецэффекты (будет удобный встроенный в паинткад редактор скриптов), обмениваться ими (будут там файлы например с расширением PCS - PaintCad Script, на самом деле обычные текстовые файлы, внешние скрипты так сказать, они не в jar, а где хошь лежат. И ты выбираешь Добавить новый скрипт, ищешь его в ФС, и дальше он в виде кнопочки или пункта меню всегда появляется в паинткаде, и можно уже вызвать его на запуск если захочешь). Полупрозрачность конечно будет (в PNG теоретически маска прозрачности содержит не просто значение "прозрачно-непрозрачно", а 256 уровневое значение прозрачности. Так что всё будет =)
Были и еще фантазии про скрипты и позже, найти не могу только)

Проблема тут одна - сейчас каждая команда зарыта глубоко и представляет собой разные уровни сложности - от рисования линии между точками X1:Y1 и X2:Y2 до проведения эффекта мозаика с помощью изображений из буфера, раскиданных по сетке или там рандомно с коэффициентом плотности N. А для скриптов надо чтобы при получении команды мозаики с некоторыми параметрами Tile(A,B,C,D,E) - без проблем отдать это на исполнение с обходом всех запросов у пользователя (т.к. уже все параметры заданы, не надо ничего спрашивать, надо выполнить процедуру). Придется для добавления каждой такой команды в скриптовый движок делать эти обходы запросов.

Я уже недавно занимался этим, когда делал меню Утилиты - Обработка BMP/JPG кадров - Пакетная обработка. Там всего штук 7 видов, которые теоретически могут вызываться из какого нибудь скрипта. Вот все остальные команды паинткада придется также дополнять возможностью запуска с заранее заданными параметрами (а это может быть число "сила эффекта, плотность, вероятность, координата", выбранный цвет или прозрачный цвет, могут быть еще какие нибудь типы данных, массивы одномерные и двумерные (куски картинки) и т.д.).

Но в скриптах даже на элементарном уровне - ассемблерном, надо предусмотреть адреса (допустим как в бейсике номера строк), логику и арифметику (если, до тех пор пока, и, или, не, искл.или, больше, меньше, равно), переходы, места для переменных (как регистры у процессора хотя бы), массивы (одномерные, двумерные, трехмерные, N-мерные). А если и нормальный синтаксис использовать для записи выражений if ((a+b*c+(d+e)*f)==(g*h^w)) {...} - то это еще разбор делать этих выражений с подстановкой значений переменных. Это очень сложно. Хотя конечно было бы интересно записать картинку в скрипт - вести запись всех действий пользователя, а потом сохранить скрипт, отослать Васе, Вася запускает и у него пошагово рисуется твоя картинка. Также можно было бы таким образом генерировать векторную картинку, т.к. будет записан набор команд и координат, где они применялись.

В общем все это известно, понятно, интересно, давно мечталось об этом, но как то это трудно)

CathodeInductance
Новичок
Сообщения: 7
Зарегистрирован: Пн июл 15, 2013 5:31 pm

Re: PaintCAD для Windows

Сообщение CathodeInductance » Пт авг 09, 2013 11:36 am

Были и еще фантазии про скрипты и позже, найти не могу только)
Эх, а я то уже понаделялся, что принес в проект новую идею... Оказывается, все несколько лет назад уже было придумано до меня :)
Проблема тут одна - сейчас каждая команда зарыта глубоко и представляет собой разные уровни сложности - от рисования линии между точками X1:Y1 и X2:Y2 до проведения эффекта мозаика с помощью изображений из буфера, раскиданных по сетке или там рандомно с коэффициентом плотности N. А для скриптов надо чтобы при получении команды мозаики с некоторыми параметрами Tile(A,B,C,D,E) - без проблем отдать это на исполнение с обходом всех запросов у пользователя (т.к. уже все параметры заданы, не надо ничего спрашивать, надо выполнить процедуру). Придется для добавления каждой такой команды в скриптовый движок делать эти обходы запросов.
Хм... Т.е. паинткад состоит из функций, в которых код для интерфейса и собственно сама обработка объединены в единое целое. Необычное решение. Согласен, подменить юзер-интерфейс, в таком случае, сторонним источником данных (виртуальной машиной), будет не так просто. Это много геморроя с перелопачиванием всего и вся. Плюс появится куча новых багов ;) Не факт, что оно того стоит.
Но в скриптах даже на элементарном уровне - ассемблерном, надо предусмотреть адреса (допустим как в бейсике номера строк) логику и арифметику (если, до тех пор пока, и, или, не, искл.или, больше, меньше, равно), переходы, места для переменных (как регистры у процессора хотя бы), массивы (одномерные, двумерные, трехмерные, N-мерные). А если и нормальный синтаксис использовать для записи выражений if ((a+b*c+(d+e)*f)==(g*h^w)) {...} - то это еще разбор делать этих выражений с подстановкой значений переменных. Это очень сложно.
Сама виртуальная машина - это не очень сложная штука. Я сам писал такое раньше на сях, для некоего подобия асма с регистрами. Там тупой парсинг (код-лапша), в котором легко запутаться... :D Арифметику я реализовал как встроенные функции, т.к. было влом парсить мат. выражения (хотя это тоже не сложно - "парсер математических выражений" гуглится на ура).
Хотя конечно было бы интересно записать картинку в скрипт - вести запись всех действий пользователя, а потом сохранить скрипт, отослать Васе, Вася запускает и у него пошагово рисуется твоя картинка. Также можно было бы таким образом генерировать векторную картинку, т.к. будет записан набор команд и координат, где они применялись.

В общем все это известно, понятно, интересно, давно мечталось об этом, но как то это трудно)
Жалко - очень приятная вещь была бы - и поиграться интересно и пользы немало. :)

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

Re: PaintCAD для Windows

Сообщение blackstrip » Вт сен 10, 2013 10:46 pm

Выложена тестовая 1.2.3.895
Скачать: http://blackstrip.ru/paintcad.exe
Класть: в папку с версией 1.2.2, перезаписывая оригинальный exe (тогда подгрузятся ваши настройки). Или просто в пустую папку.

Изменения (по сравнению с предыдущей тестовой):
- стандартные окна сообщений заменены на окна с интерфейсом в стиле программы
Полный список изменений по сравнению с 1.2.2 - см.в окне "О программе".

Новые окна сообщений показываются вместо бывшего стандартного дельфийского messagebox-а и бывают, как и messagebox, 4 типов - предупреждение, инфо, вопрос и ошибки/остановки. Шрифт текста сообщения побольше размером, легко прочитать. Кто привык с клавиатуры жать Пробел для подтверждения сообщения - можно также его жать как раньше (срабатывает и Enter, и Пробел), только фокус по кнопкам не бегает:

Изображение

Изображение

Изображение

Изображение

Уменьшенные в два раза (и масштабируемые местным advMame2x в соответствии с размером экрана) варианты этих значков также появятся в ближайшем выпуске мобильной версии:
Изображение

Ответить

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

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