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 Quote 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 Quote 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 Quote 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 Quote 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 Quote 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 Quote Link to comment Share on other sites More sharing options...
blackstrip Posted January 26 Author Report Share Posted January 26 Выпущен 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 как будто отдельную программу-чат или программу-браузер). Полное описание изменений см. в окне "О программе". Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.