blackstrip Posted April 9, 2017 Report Share Posted April 9, 2017 PaintCAD 4Windows Разработчик: BlackStrip Studios Домашняя страница: http://blackstrip.ru Минимальные системные требования ОЗУ: 64 Мб Разрешение экрана: 800x600 ОС: Windows 95,98,2000,ME,XP,Vista,7,8,10 Internet Explorer 4.0 или новее Размер: 14 Мбайт Скачать (по любой из ссылок): EXE-архив ZIP-архив RAR-архив Описание Мультимедиа-редактор, включающий в себя: - графический редактор (BMP, JPG, PNG c альфа-каналом, 256-цветные GIF рисунки/анимации, стерео-анаглиф/стереопара, а также MPO/JPS стереоизображения для 3D телевизоров/мониторов, программируемая графика/анимация на JavaScript, создание/редактирование/использование растровых PCF шрифтов при рисовании), - покадровый видео-редактор (AVI с возможностью добавления WAV озвучки), - музыкально-звуковой редактор (WAV звуковые файлы, программируемый редактор звуковых/музыкальных скриптов), - а также набор сопутствующих модулей. Подходит для: - обычной графики: рисования BMP, JPG, PNG изображений (с альфа-каналом прозрачности), - малоцветной графики: рисования 256-цветных GIF изображений и сборки GIF анимаций из отдельных GIF кадров, работы с 256-цветной индексированной палитрой, - стереографики: создания и редактирования стереоизображений (3D стереоформаты: MPO и JPS), - программируемой графики: работы в модуле Scriptaint на языке Java Script, - работы с растровыми шрифтами: рисования собственных и редактирования сторонних PCF растровых шрифтов, написания текстов этими шрифтами на изображениях, - видео: покадровой анимации и AVI видеомонтажа с запаковкой кодеками, съёмки фото и видео с веб-камеры, - звука и музыки: создание WAV озвучки для видео или иных целей во встроенном модуле Qmpot с возможностью написания музыкально-звуковых QMP скриптов, записи в скрипт в реальном времени команд при игре на клавиатуре как на фортепиано, автоматическое сочинение мелодий во встроенном модуле Muzz с возможностью выбора оттенка (грустная/веселая) и характеристик (темп, размер, количество куплетов, припевов, проигрышей) с последующим сохранением сочиненного в MID-мелодии/QMP-скрипты. Видео о процессе рисования https://www.youtube.com/watch?v=_VuNOkaiG9E Основные сочетания клавиш Дополнительные скриншоты встроенных модулей Покадровый видеоредактор Программирование графики/анимации на Java Script с автоэкспортом полученных кадров в файлы Редактор 2D тайловых карт Программируемый звуковой редактор Система "Ввод нот" позволяющая "играть" на фортепиано, 6-тиструнной гитаре и барабанах с экспортом результатов в скрипт для редактора выше, а также записывать в реальном времени игру на фортепиано с компьютерной клавиатуры 1 Link to comment Share on other sites More sharing options...
Teddy_Bear Posted April 9, 2017 Report Share Posted April 9, 2017 (edited) А описание Scriptaint есть? Или где можно почитать? Меня интересует покадровый видеоредактор с возможностью программирования анимации изображения. Я пробовал присобачить тоже в Дельфи Берлин FireMonkey с 3D объектами, но очень мало в интернете внятного описания FM. Даже у Эмбаркадеро описание типа "TModel3D это компонент для трехмерных моделей". Ну очень информативно. Edited April 9, 2017 by Teddy_Bear Link to comment Share on other sites More sharing options...
blackstrip Posted April 9, 2017 Author Report Share Posted April 9, 2017 1 час назад, Teddy_Bear сказал: А описание Scriptaint есть? Или где можно почитать? Меня интересует покадровый видеоредактор с возможностью программирования анимации изображения. Я пробовал присобачить тоже в Дельфи Берлин FireMonkey с 3D объектами, но очень мало в интернете внятного описания FM. Даже у Эмбаркадеро описание типа "TModel3D это компонент для трехмерных моделей". Ну очень информативно. В системе помощи паинткада (F1) в разделе "Экстра" есть описание скриптаинта. Но если вкратце описать - это обычный TWebBrowser, запускающий HTM файл со скриптом. Есть шаблоны готовые при создании нового скрипта (Ctrl+N) в скриптаинте. Вот они в окошке: Вот выбираем там "DIV (пример анимации)" и создается готовый скрипт, у него есть функции отрисовки тегами DIV кучи фигур (линии, круги, прямоугольники), а также обычного текста и картинок в <img> тегах. Кроме того, там есть часть функций управляющих и основной код в самом низу: function flushcode() { document.getElementById('content').innerHTML=codestr; } function cls() { codestr=''; flushcode(); } function req(s) { document.title=s; } //code start function showframe() { cls(); circle((curframe-1)*18,50,(curframe-1)*18+30,80,rgb(255,0,0),1,1); flushcode(); req('pb '+Math.floor(curframe*100/framecount)); setTimeout(function() {saveframe();},framedelay/2); } function saveframe() { if (savingframes==1) req('savebmp '+curframe+'.bmp'); curframe++; if (curframe<=framecount) {setTimeout(function() {showframe();},framedelay/2);} else {if (savingframes==1) alert('BMP-кадры были сохранены в папке рядом с HTM-файлом скрипта');}; } req('setsize w=200 h=200'); codestr=''; savingframes=1; curframe=1; framecount=10; framedelay=1000; setTimeout(function() {showframe();},framedelay/2); //code end Если сохранить этот HTM скрипт по Ctrl+S куда нибудь, а потом запустить его по F5, то по очереди с шагом 1000 миллисекунд (framedelay) покажет 10 кадров (framecount) и сохранит их в BMP файлы в папку рядом с сохраненным HTM скриптом (т.к. включено savingframes=1). Общение скрипта со скриптаинтом идет через заголовок страницы (document.title), в который записываются разные команды (через функцию req). Например, сначала пишется туда "setsize w=200 h=200" - это значит 200х200 пикселей будет картинка/анимация. А потом каждый кадр в заголовок страницы пишется "savebmp номер_кадра.bmp", и скриптаинт скидывает снимок TWebBrowser-а в BMP файл на диск в папку, где сохранен текущий HTM скрипт. Т.к. готовый шаблон уже есть, то пользователю остается поправить сколько кадров будет (framecount=...), выбрать задержку (framedelay=1000 - это много, но если сделать слишком мало и кадр не успеет отрисоваться, то будут проблемы с сохранением, поэтому задержку можно сделать поменьше, но не сильно, зависит от сложности отрисовываемого кадра) и, самое главное, вписать в функцию showframe команды отрисовки кадра в зависимости от текущего номера кадра, хранящегося в переменной curframe. Сначала в шаблоне код отрисовки в showframe состоит из 3 команд: cls(); - очистить "экран" (стереть переменную с кодом рисовки) circle((curframe-1)*18,50,(curframe-1)*18+30,80,rgb(255,0,0),1,1); - отрисовать круг, вписанный в прямоугольник с координатами X1=(curframe-1)*18, Y1=50, X2=(curframe-1)*18+30, Y2=80, красного цвета rgb(255,0,0) с толщиной линии 1 (а последний параметр, еще одна 1 - это лишний походу, в шаблон случайно попал) flushcode(); - скинуть переменную с кодом на отрисовку Стираем это и пишем любые другие команды, можно например заранее рядом со скриптом положить кадры анимации идущего человека под именами man1.bmp, man2.bmp, man3.bmp, man4.bmp и отрисовывать кадры, вытаскивая их по имени (1 + ((curframe-1) % 4)) - будет в 1 кадре man1.bmp, во втором man2.bmp, в третьем man3.bmp, в четвертом man4.bmp, в пятом снова man1.bmp, в шестом man2.bmp и т.д. А координаты анимации менять. Для примера в помощи по F1 расписан скрипт с журавлями на 50 кадров, вот он: //code start function showframe() { cls(); fillrect(0,0,199,199,rgb(0,128,255)); imgout('ptica\\pt'+(1+(curframe%3))+'.png',-35+curframe*7,Math.floor(150+Math.sin(2*Math.PI*0.1*curframe+7*Math.PI/8)*6)); imgout('ptica\\pt'+(1+(curframe%3))+'.png',-35+curframe*6,Math.floor(100+Math.sin(2*Math.PI*0.1*curframe)*10)); imgout('ptica\\pt'+(1+(curframe%3))+'.png',-35+curframe*5,Math.floor(50+Math.sin(2*Math.PI*0.1*curframe+Math.PI/4)*8)); imgout('cloud\\cloud'+(1+Math.floor(curframe/5)%2)+'.png',230-curframe*10,30); imgout('cloud\\cloud'+(1+Math.floor(curframe/5)%2)+'.png',200-curframe*10,80); imgout('cloud\\cloud'+(1+Math.floor(curframe/5)%2)+'.png',250-curframe*10,130); if (curframe<25) { textoutframe('Scriptaint',Math.floor(Math.sin(2*Math.PI*0.05*curframe)*2),200-curframe*2,199+Math.floor(Math.sin(2*Math.PI*0.05*curframe)*2),(200-curframe*2)+100,rgb(255,160,0),'Tahoma',30,'bold','italic','center'); } else { textoutframe('Scriptaint',-8*(curframe-25),150,199-8*(curframe-25),150,rgb(255,160,0),'Tahoma',30,'bold','italic','center'); } flushcode(); req('pb '+Math.floor(curframe*100/framecount)); setTimeout(function() {saveframe();},framedelay/2); } function saveframe() { if (savingframes==1) req('savebmp '+curframe+'.bmp'); curframe++; if (curframe<=framecount) {setTimeout(function() {showframe();},framedelay/2);} else {if (savingframes==1) alert('BMP-кадры были сохранены в папке рядом с HTM-файлом скрипта');}; } req('setsize w=200 h=200'); codestr=''; savingframes=1; curframe=1; framecount=50; framedelay=1000; setTimeout(function() {showframe();},framedelay/2); //code end Вот результат работы скрипта: з.ы. полученные BMP можно конвертнуть в GIFы и потом собрать в анимацию с указанием задержек между кадрами 1 Link to comment Share on other sites More sharing options...
Teddy_Bear Posted April 13, 2017 Report Share Posted April 13, 2017 (edited) Спасибо за подробный ответ. А можно просветить по поводу наложения рисунков на попиленное по кадрам снятое видео и последующую сборку опять в видео? Обязательно попробую в любом случае. Edited April 13, 2017 by Teddy_Bear Link to comment Share on other sites More sharing options...
blackstrip Posted April 13, 2017 Author Report Share Posted April 13, 2017 12 часа назад, Teddy_Bear сказал: Спасибо за подробный ответ. А можно просветить по поводу наложения рисунков на попиленное по кадрам снятое видео и последующую сборку опять в видео? Обязательно попробую в любом случае. Сначала разбираем AVI-видео на кадры, для этого поместим его в отдельную папку и вызовем функцию разборки на кадры: Выбираем AVI-файл Видим все кадры видео. Жмем "Пробел" на первом кадре (начать выделение). Для перехода на последний кадр жмем Перейти (G) или просто G на клавиатуре и выбираем "На последний кадр анимации". На последнем кадре снова жмем "Пробел". Выделили все кадры, которые хотим извлечь. (в принципе, можно выделить не все видео, а только кусок, если нужно). Жмем "Слить кадры (S)" (или S на клавиатуре), выбираем формат кадров (BMP или JPG) И выбираем номер файла первого кадр, если выбрать 1 - то первый кадр будет сохранен как 1.bmp, второй как 2.bmp и т.д. (в окошке кнопки 1-9, backspace и очистка - это для сенсорного экрана). В окне с линейкой кадров пробегает полоска разборки - и у вас рядом с AVI-файлом образуются куча файлов-кадров (именно поэтому рекомендуется положить AVI-видео в отдельную пустую папку). Можно всю эту кучу файлов переместить в подпапку, например, backanim. Дальше делаете скрипт в скриптаинте и там как в примере с птицам указываете первой командой req('setsize w=размер_видео_по_x h=размер_видео_по_y'); Также указываете количество кадров вашего разобранного видео: framecount=колво_кадров; В самой процедуре отрисовки ставите на фон ваши кадры, а после команды отображения фона вставляете хоть птиц, хоть текст, хоть другие картинки любые: //code start function showframe() { cls(); imgout('backanim\\'+(curframe)+'.bmp',0,0); //сюда добавить любые команды отрисовки того, что захочется нарисовать поверх i-того кадра видео flushcode(); req('pb '+Math.floor(curframe*100/framecount)); setTimeout(function() {saveframe();},framedelay/2); } И выполняете этот скрипт по F5, получая кадры с нарисованным поверх, как было описано выше в предыдущем посте. В корневой папке рядом с htm-скриптом появятся 1.bmp, 2.bmp и др. кадры полученного видео с наложенными картинками, а кадры исходного видео лежат в это время в папке backanim. Ну а потом собираем все командой сборки кадров в AVI: Выбираем сколько кадров в секунду хотим: И кодек (запаковщик видео) По окончании сборки кадров в видео в папке рядом с файлами кадров появится result.avi - это собранный видео-файл. Если у видео была озвучка и хотелось бы ее перенести в новое видео, то ее можно извлечь из исходного видео в виде WAV-файла (он появится в папке рядом с AVI-файлом): И соседней командой в этом же меню "Добавить/заменить WAV-аудио в AVI-видео" прикрепить этот WAV-файл озвучки к новому видео (указав WAV-файл озвучки и новое беззвучное AVI-видео). p.s. помимо простого сбора AVI из кадров можно предварительно их обработать в окне видеомонтажа "Просмотр кадров" простыми обработками. Например, стоп-кадр сделать, откопировать кусок последовательности кадров из одного места в другое, сдвинуть последовательность, растянуть/сжать по времени и т.д.). Окошко при этом появляется то же, что и при разборе AVI на кадры, но там становятся видно много других кнопок. В конце собрать AVI можно, нажав на "Сделать AVI (R)" или просто R на клаве. 1 Link to comment Share on other sites More sharing options...
Teddy_Bear Posted April 13, 2017 Report Share Posted April 13, 2017 (edited) Огромное спасибо! Буду пробовать. О результатах обязуюсь отчитаться. Edited April 13, 2017 by Teddy_Bear Link to comment Share on other sites More sharing options...
blackstrip Posted January 26, 2023 Author Report Share Posted January 26, 2023 Выпущен PaintCAD 4Windows 1.5.2.1352 Скачать: По прямой ссылке (14,2 Мбайт) RAR: http://blackstrip.ru/pcw.rar ZIP: http://blackstrip.ru/pcw.zip SFX-EXE: http://blackstrip.ru/pcw.exe Основные изменения: 1) Редактор мозаики теперь отображает номер элемента мозаики под курсором, меняет размер отображаемых номеров элементов мозаики в зависимости от размеров самих элементов (чтоб номер влезал в мелкие элементы), а также показывает курсор и выделение даже при выключенных деталях. Также теперь можно заливать выделенный фрагмент мозаики указывая картинку из папки (с предпросмотром всех возможных картинок), а не просто по номеру картинки или перебором всех номеров по Z/X-клавишам. 2) В программируемый редактор картинок/анимаций Scriptaint добавлен вывод эмодзи-значков шрифтом Segoe UI Emoji. Пример вывода эмодзи добавлен в стандартный шаблон нового скрипта картинки. 3) Генератор ASCII-артов инструмента Текст дополнен новым методом "Черно-белый + Зернистый 5-цветный", смешивающим 5-цветную псевдографику и черно-белые точки в зависимости от перепада яркостей пикселей на исходной картинке. 4) Генератор мелодий Muzz теперь научился сочинять песни в четырех жанрах (рок, поп, хип-хоп и регги), а также менять громкость нот в партиях мелодии, аккомпанемента и барабанов. Добавлено много вариантов аккомпанемента (включая простые на 1-2 нотах), а также много вариантов барабанного боя для новых жанров. Сохраняемые в MID-файлы мелодии теперь проигрываются в корректном темпе на Android-устройствах. Примеры новых сгенерированных мелодий: Рок http://blackstrip.ru/tmp/pcw152/rockmus1.mid http://blackstrip.ru/tmp/pcw152/rockmus2.mid http://blackstrip.ru/tmp/pcw152/rockmus3.mid http://blackstrip.ru/tmp/pcw152/rockmus4.mid http://blackstrip.ru/tmp/pcw152/rockmus5.mid http://blackstrip.ru/tmp/pcw152/rockmus6.mid Поп http://blackstrip.ru/tmp/pcw152/popmus1.mid http://blackstrip.ru/tmp/pcw152/popmus2.mid http://blackstrip.ru/tmp/pcw152/popmus3.mid http://blackstrip.ru/tmp/pcw152/popmus4.mid http://blackstrip.ru/tmp/pcw152/popmus5.mid http://blackstrip.ru/tmp/pcw152/popmus6.mid Хип-хоп http://blackstrip.ru/tmp/pcw152/hiphop1.mid http://blackstrip.ru/tmp/pcw152/hiphop2.mid http://blackstrip.ru/tmp/pcw152/hiphop3.mid http://blackstrip.ru/tmp/pcw152/hiphop4.mid http://blackstrip.ru/tmp/pcw152/hiphop5.mid http://blackstrip.ru/tmp/pcw152/hiphop6.mid Регги http://blackstrip.ru/tmp/pcw152/reggae1.mid http://blackstrip.ru/tmp/pcw152/reggae2.mid http://blackstrip.ru/tmp/pcw152/reggae3.mid http://blackstrip.ru/tmp/pcw152/reggae4.mid http://blackstrip.ru/tmp/pcw152/reggae5.mid http://blackstrip.ru/tmp/pcw152/reggae6.mid 5) Мини-браузер Bro и IRC-чат Retro теперь могут отображаться не только на полный экран, но и в окошке. А запуск паинткада с ключами -bro или -retro показывает только окошко браузера/чата, не показывая другие окна паинткада. При закрытии такого окошка весь паинткад автоматически закрывается (т.е. можно запустить паинткад с ключом -bro или -retro как будто отдельную программу-чат или программу-браузер). Полное описание изменений см. в окне "О программе". Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now