Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Скрипт для обработки фотографий Добавлено: 05.09.12 18:23  

Автор вопроса:  AWP | Web-сайт: xawp.narod.ru | ICQ: 345685652 
Привет всем!

Реализую скрипт для обработки фоток. Обработка будет как одиночная, так и пакетная. Будет реализована версия для вызова из консоли. Будет реализован GUI.

Редактор написан. Код выглядит примерно так.
Load file$
Blur 1.1
Contrast 0, 50, 50, 50
Show

Скрипт уже умеет обрабатывать объявления картинок, загрузку картинок, команды и их аргументы.
Синтаксис собираюсь максимально приблизить к VB.

Для чего это все нужно?
Например вам нужно подогнать все фотки под один стиль и размер и не хотите париться с фотошопом и выправлять все фотки. А тут скрипт все подгонит. Там, эффекты разные, сепфию, контраст, зернистость, затемнит что нужно.

Предлагаю поучаствовать в проекте. В написании фильтров и в подаче крутых идей.
Проект простенький, много времени не отнимет.

Предполагается некое подобие ООП.
т.е. Можно загрузить несколько картинок и работать с ними параллельно и накладывать друг на друга.
Также реализую глобальные переменные и картинки.

Что думаете?

Ответить

  Ответы Всего ответов: 27  

Номер ответа: 1
Автор ответа:
 Mikle



Вопросов: 5
Ответов: 134
 Профиль | | #1 Добавлено: 05.09.12 18:58
Довольно интересная мысль. Глянь вот здесь:
http://bbs.vbstreets.ru/viewtopic.php?f=28&t=38123
несколько моих фильтров.

Ответить

Номер ответа: 2
Автор ответа:
 Programmer



Вопросов: 71
Ответов: 246
 Профиль | | #2 Добавлено: 05.09.12 19:52
Как насчет использовать компиляцию на лету? Встроить текст скрипта в заранее заготовленный шаблон с классом, скомпилить и запустить через рефлексию! Туда же (внутрь класса) можно добавить необходимые объекты. А можно вызывать static классы.

Ответить

Номер ответа: 3
Автор ответа:
 Programmer



Вопросов: 71
Ответов: 246
 Профиль | | #3 Добавлено: 05.09.12 19:53
Я имею ввиду использовать компилятор .NET (или аналогичный для VB6)

Ответить

Номер ответа: 4
Автор ответа:
 Mikle



Вопросов: 5
Ответов: 134
 Профиль | | #4 Добавлено: 05.09.12 20:06
Programmer, а зачем? Готовые скомпилированные процедуры просто вызывать из скрипта.

Ответить

Номер ответа: 5
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #5
Добавлено: 06.09.12 03:23
Ну можно сделать что-то наподобие sfx-архива, но пропадет универсальность - файлы скриптов можно хранить и передавать.
По скорости: выполнение самих фильтров значительно дольше происходить чем обработка самого скрипта, т.ч. ей можно спокойно пренебречь.

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

Кстати, Mikle
Думаю сделать все на основе sr2d. оч. удобно: и доступ к массиву в памяти есть и встроенных функция полно, которых можно без лишних забот приспособить.

Мне еще нужно специфические фильтры, на подобие фотошоповских ил классов: Artistic, Distort, Sketch, Stylize и т.д. Кто хочет поучаствовать в написании - welcome! =)

Ответить

Номер ответа: 6
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #6 Добавлено: 13.09.12 16:18
?IsMikityak("AWP";)
False
Странно. Зачем тогда тебе это нужно? Пишешь свой порнографический редактор?

Ответить

Номер ответа: 7
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #7
Добавлено: 13.09.12 22:48
LamerOnLine
Ага, порнографический генератор)
Пишу для избавления от "Ручной работы" =)

Ответить

Номер ответа: 8
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #8 Добавлено: 13.09.12 23:13
а не проще освоить скриптовый язык для фотошопа и наклепать нужных макросов??
Зачем городить огород?

Ответить

Номер ответа: 9
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #9
Добавлено: 13.09.12 23:24
Можно,но "Синтаксис собираюсь максимально приблизить к VB.". Да и интерес в создании гораздо сильнее чем в ковырянии.

Пример тут сделал.
Вот такую
http://trwn.info/test.png
штуку можно сделать написав всего пару строк
  1. Load file$
  2. DetailContrast 40
  3. Noise 16
  4. Save jpg, 100

Ответить

Номер ответа: 10
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #10
Добавлено: 13.09.12 23:46
или вот такую:
http://trwn.info/test2.png

Ответить

Номер ответа: 11
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #11 Добавлено: 13.09.12 23:55
дело твое, но, имхо, оно того не стоит..
ты даже на километр не приблизишься к возможностям и производительности фотошопа..
а тратить кучу времени чтобы Синтаксис собираюсь максимально приблизить к VB... не понимаю..

Ответить

Номер ответа: 12
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #12
Добавлено: 14.09.12 00:25
Ну, производительность, надо сказать, у меня неплохая. А вот возможности да, столько не будет. Но основные и еще парочку интересных в придачу я запилю=)
Есть и несомненные плюсы:
-Простой в обращении
-Легковесный
-Бесплатный
-Достаточно полезный

Можно, кстати, вижуальный версию, в виде блок схем, сделать ;)

Ответить

Номер ответа: 13
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #13
Добавлено: 18.09.12 03:27
Посидел сегодня после работы, написал туеву хучу клёвых фильтров. причем сразу оптимизировал код.
Фильтр повышения детальности выполняется не дольше чем просто открытие картинки.

Ответить

Номер ответа: 14
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #14
Добавлено: 18.09.12 04:10
Собрал для теста.
http://trwn.info/ptscript.zip

попробуйте использовать такой код
  1. Load file$
  2. FilmGrain 28
  3. FilmSmooth
  4. Blur 0.5
  5. DetailContrast 20
  6. Vignette 20
  7. Contrast 0, 5, 5, 5
  8. Show


в меню file->Fast Run (Перепутал местами)


Краткое описание

Картинка открывается функцией Load
Load "C:\img.jpg"
или
Load file$
Во втором случаи откроется тестовая картинка

Save - Сохраняет готовую картинку

Show - Показывает результат



Contrast [A,R,G,B] значения от -100 до 100
Меняет контрастность

Brightness [A,R,G,B] значения от -100 до 100
Меняет яркость

Blur [радиус] значение от 0.001 до 512
Размазывание

FilmSmooth
Смягчение картинки

Desaturate
делает картинку серой

Invert
И так понятно

Treshold [порог] значение от 0 до 255
Делает картинку черно-белой

BlackAndWhite
Тоже самое что и Treshold, только порог сам выбирает

Paint [радиус] значение от 1 до 512
эффект чего-то там, фиг знает, сами название придумайте

HiPass [радиус] значение от 1 до 512
Аналог фотошоповского HiPass

Blackness [радиус] значение от 1 до 512
Затемняет картинку

DetailContrast[радиус] значение от 1 до 512
Выделяет детали

Noise [x] значение от 1 до 255
Накладывает шум

FilmGrain [x] значение от 1 до 255
Накладывает эффект плёночного зерна

Vignette [x] значение от 1 до 100, можно больше но будет оверлоад
Затемнение по краям

VignetteLight [x] значение от 1 до 100, можно больше но будет оверлоад
Засветы по краям

Posterize [x] значение от 1 до 255
Задается количество используемых градаций на одну точку

Ответить

Номер ответа: 15
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #15
Добавлено: 18.09.12 20:27
Перезалил новую версию!
http://trwn.info/ptscript.zip

Появилось некое подобие ООП.
Попробуйте запустить код.
  1. Load file$
  2. Init new, alpha
  3. new.Create 720, 400
  4. alpha.Load "alpha.png"
  5. alpha.Blur 1
  6.  
  7. new.CopyChannel Main, r, r
  8. new.CopyChannel Main, g, r
  9. new.CopyChannel Main, b, r
  10.  
  11. new.Draw alpha, 100, 100
  12.  
  13. new.Show
  14. new.Save png



Добавления:
Init [Name], [Name2],..
Создает изображение

Copy [name]
копирует картинку [name]

Draw [name], [x], [y]
Рисует картинку [name]

CopyChannel [name], [dCnl],[sChl], [x], [y]
Копирует канал с другой картинки. Каналы прописываются как r,g,b или a.

Create [W], [H]
Создает или пересоздает картинку

MSG [text]
Просто выдает какое-то сообщения

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам