Новый метод ресайза: программа С3С Image Size

Всего 808 сообщ. | Показаны 621 - 640
Re[r-bin]:
Плагином интересуюсь, но в специфическое программирование не лезу. Оно, конечно, может вас оскорбит, но, увы.
Автору респект 8)
Re[r-bin]:
[quot]1. да, проблемы только при наличии диалога. [/quot]

Вот! Наконец есть ясность. По-другому и не могло быть. А проблемы эти плановые. То есть я предполагал, что диалог в Actions никогда не вызывается. И сам вызов диалога в текущей версии означает, что запуск произошел из меню. А раз так, то плагин лезет в реестр, восстанавливает настройки, если надо и вот это вот все...

[quot]2. мне нужно. у меня летит половина тех.процесса (но это мои проблемы) [/quot]

Тоже понятно. И теперь ясно, откуда ноги растут и, соответственно, можно будет чего-нибудь придумать. Попробую в ближайшие дни чего-то сделать.
Re[c3c]:
Я так понял, что вы корректируете свою программу под одного пользователя?
Забейте на "мутные" просьбы! Делайте то, что задумали! В противном случае,
ваш плагин заставят перелистывать страницы этого форума)))
Re[rus-lis]:
И так и не так. Стараюсь искать золотую середину. Если какие-то пожелания не противоречат моему представлению о прекрасном, то пробую найти адекватное решение. Что касается темы, поднимаемой r-bin, это не касается интерфейса. И хотя потребности довольно специфические, но если можно сделать, что в скриптах с включенным диалогом тоже будет работать, то почему бы не сделать.

Сейчас, когда удалось получить внятное описание проблемы, поищу ее решение. Кому это не нужно, даже и не заметят. Интерфейс загромождать не придется. Так что, все нормально.
Re[r-bin]:
Вот этот номер
[quot]
/*
< javascriptresource>
< name>My test script< /name>
< menu>filter< /menu>
< /javascriptresource>
*/

Убрать пробелы после открывающих угловых скобок, пришлось их вставить т.к. форум тупит из-за такого текста.
Это как бы сишый старостильный комментарий. В этом случае скрипт появится в меню Filters с именем ”My test script”.
[/quot]

что-то не проходит. А было бы довольно приятно, если бы проходил. Из меню File/Scripts при этом скрипт тоже исчезает.

А без этого работает.
Re[c3c]:
от: c3c

что-то не проходит. А было бы довольно приятно, если бы проходил.

А без этого работает.


https://yadi.sk/i/3yDUB7xJz2iuJ

Готовый пример скрипта. Cкопируйте в папку Presets\Scripts. Запустите фотошоп. В меню Filter в самом низу будет пункт "C3C Resize...".
Проверял на cs6 и cс2017.

ЗЫ. Многие плагины (в т.ч. фотошоповские) используют поддержку скриптов. В том числе вот так себя в нужное меню запихивают. Если наличие ФАЙЛА .8bf не создает меню, единственный способ вызывать плагин - такой трюк. При этом в скрипте можно делать всякие штучки перед вызовом плагина, которые трудно реализовать через sdk самого плагина. В вашем случае можно делать проверку на слои и при необходимости делать флэттен имедж к примеру.
Re[r-bin]:
Ок! Работает. В прошлый раз я неправильно вот это < menu>filter< /menu> употребил. Но вот это < category>C3C Product< /category> чего-то не отображается. Как я понимаю, это подпунктом в меню Filter должно было бы стать. Но - нету.
Re[c3c]:
от:c3c
Ок! Работает. В прошлый раз я неправильно вот это < menu>filter< /menu> употребил. Но вот это < category>C3C Product< /category> чего-то не отображается. Как я понимаю, это подпунктом в меню Filter должно было бы стать. Но - нету.
Подробнее

Я точно не знаю как создать подменю. Но категория используется для сортировки меню. Например в родном скрипте фотошопа Image Processor.jsx она используется для постановки в самый верх меню. Как-то так. Я сам знаю в скриптах только то, что мне нужно. Если нужно новое ищу, гуглю и т.п.)

ЗЫ. Это вариант текста для скрипта я содрал с фотошоповкого доп.плагина Interpolate.8bf, из его скрипта InterpolateWrapper.jsx. Там была категория Adobe Labs.
Re[r-bin]:
Похоже на то, что category - это раздел существующего меню. А я по привычке воспринимал это как название нового подменю, как это задается в ресурсах плагинов.
Теперь надо попробовать впендюрить C3C Image Size рядом со штатным Image Size.

Re[c3c]:
https://www.manualslib.com/manual/442200/Adobe-19400084-Photoshop-Cs3-Extended.html?page=204#manual

Нашел кой-кое инфо по javascriptresource.
К сожалению как сделать подменю пока загадка.
Re[r-bin]:
[quot]К сожалению как сделать подменю пока загадка.[/quot]

Судя по всему, никак: http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop-cc-javascript-ref-2015.pdf
Re[c3c]:
Версия 2.06 плагина C3C Image Size для Windows




Новое:

1. Добавлен скрипт, позволяющий вызывать плагин из меню Filter (подробности в readme.txt).
2. Плагин распознает запуск из скрипта с открытием диалога и подставляет соответствующие параметры.

Загружать здесь

Некоторые подробности в ЖЖ
Re[c3c]:
#многабукав

Что это за параметр scripting? Где его задавать? Если вы добавили новый параметр в ActionDescriptor, то ScriptListener.8li его не видит. Тогда нужен небольшой мануал по этому параметру.

Если вы стали ко мне прислушиваться, то замечу (ранее тоже говорил) - мне нужно чтобы параметры задвинутые в ActionDescriptor проставлялись в диалог при вызове плагина через скрипт в режиме показа диалога. Если вы решили проблему неким новым параметром, то это решает только часть проблемы. Эту проблему я и так могу обойти, создав свой собственный диалог, где и буду проставлять нужные параметры, и далее вызывать ваш плагин без диалога с необходимыми параметрами. Но вторая часть проблемы состоит в том, что я применяю это к смарт-объекту. При этом актуальным остается параметр резкости, фактического ресайза нет. Если резкость не устаивает, то просто вызывается редактирование фильтра смарт-объекта. Такая процедура аналогична вызову из скрипта, но это не вызов из скрипта, где можно задать недокументированный параметр (если я правильно понял), а скорее аналог вызова из экшина с включенной галкой диалога, что собственно тоже совпадает с тем какие параметры регистрирует скрипт-листенер или они записываются как параметры фильтра в смарт-объекте и передаются в плагин при попытке редактирования смарт-фильтра смарт-объекта.

Правильным подходом было бы не указание, что фильтр вызывается из скритпа, а определять вызывается он с параметрами или без. В экшинах и в смарт-обектах он вызывается всегда с параметрами. Кроме того, в смарт объектах всегда с диалогом. В скрипте - это на усмотрение программиста. В простейшем случае он вызывается без параметров (ActionDescriptor == undefined) или часть параметров не задана.

Вот смотрите. Если "вас" вызывают без диалога, то откуда вы берёте параметры?

А теперь такой алгоритм. Когда "вас" вызывают с диалогом, то вы считывайте или вычисляйте параметры для заполнения контролов как и раньше, НО!, после обращайте внимание - если то место, где лежат внешние параметры, т.е. то, откуда вы их достаёте при отсутствии диалога, не равно NULL (ну или как то по-другому определяйте наличие/отсутствие внешних параметров), то после, вместо уже как бы готовых параметров для контролов (ширина, высота, единицы, фит, пропорции, резкость), меняйте их на внешние величины и все будут счастливы).

ЗЫ, Надеюсь не утомил)

Re[r-bin]:
Сделал по-другому. Параметр scripting, который Вы не нашли, отменяется. Должно быть все так, как Вы хотите.

Версию менять не стал. Анонсировать каждый день новую как-то нехорошо. Скачайте заново 2.06.
Re[c3c]:
Всё супер! Поставил в качестве основной версии. Завтра днём поковыряю поподробнее. С первого взгляда никаких багов во всяких кейсах не нашел. Пришлось подправить старые скрипты, т.к. в них не было параметра "cC3F" - Fit To.

ЗЫ. Когда разбогатею тогда обязательно вам заплачу за труды. А сегодня весь яндекс отправил дочке-студентке на карту.

ЗЫ2. Там ещё пара моментов осталась, не криминальных, типа неудаления старых пикселей в слое который ресайзится. Но это уже наверное в версии не ниже 3.0 исправите.
Re[r-bin]:
[quot]типа неудаления старых пикселей в слое который ресайзится.[/quot]
Я сомневаюсь, что такое возможно, но лучше бы сейчас выяснить. Хочется эти моменты отладить сейчас. А версия 3, хоть и будет по-другому устроена, но дело будет сводиться лишь к тому, что вместо Canvas Size будет задействовано Image Size для фактической обрезки картинки. А пересчет пикселей меняться не будет.
Re[c3c]:
Да, это вряд ли возможно. Ведь это надо не просто преобразовывать пиксели, но и изменять размер слоя.

Простейший пример, когда это может вылезти, вернее очень заметно:

Откройте любой jpg файл. Дабл-клик по слою в палитре слоёв для преобразования его из бэкграунд в слой. Далее, нажать V (инструмент Move) и сдвинуть слой вверх-влево, чтобы внизу-справа образовалась прозрачность. Далее сделать сильный ресайз, скажем 800 по длинной. Сразу видно, что перересайзились самые верхние левые пиксели слоя, а не то что было видно через канвас. Но это тяжелый и редкий для меня случай. В случае когда картинка не вылазит за канвас, это практически не заметно.

Предлагаю так. Так как плагин теперь знает, что такое прозрачность, то после обработки ещё раз пройтись по пискелям слоя (если это был слой) и присвоить всем пикселям которые выпали из обработки, т.е. остались старыми, непрозрачность 0%, а заодно и значение 0 или 255.

ЗЫ. Насчет Image Size вместо Canvas Size не совсем понял. По фотошоповским понятием это одно и тоже. Или вы под Image Size подразумеваете именно размер самого слоя.
Re[r-bin]:
[quot]ещё раз пройтись по пискелям слоя[/quot]
Вряд ли буду заниматься подобным шаманизмом. В версии 3, полагаю, решится само собой.
[quot]Насчет Image Size вместо Canvas Size не совсем понял.[/quot]
Плагин состоит из двух частей: фильтра, который пересчитывает цвет одного слоя и помещает уменьшенную картинку в левый верхний угол исходной и вызова Canvas Size, который (которая, которое) обрезает канву.

Теперь вместо Canvas Size для обрезки будет вызываться штатная Image Size, которая отресайзит по-своему все слои и маски. Но основной слой мы ей подсунем, отресайзенный по-нашему.
Re[c3c]:
от: c3c

Теперь вместо Canvas Size для обрезки будет вызываться штатная Image Size, которая отресайзит по-своему все слои и маски. Но основной слой мы ей подсунем, отресайзенный по-нашему.


Гениальное и правильное решение! Осталось не забыть оставить возможность указывать каким способом проводить базовый ресайз, т.е. бикубик, бикубик шапр и проч.

ЗЫ. Получится примерно как у меня сейчас. Вся картинка ресайзится бикубиком. Есль заливочные слои под разные фона. Есть слой ресайзенный бикубик шарпом. Есль слой резайзенный C3C с наложенной резкостью в смарт-объекте. Есть слой ресайзенный C3C с применённой резкость фильтра Focus Magic, который к сожалению не поддерживает смарт-фильтры. В одном из 100 случаев приходится протирать слои в некоторых местах для проявления бикубика, т.к. там практически никогда не бывает муара.
Re[c3c]:
Галка Store постоянно включается. Если её выключить данные правильно записываются в реестр. Но следующий ручной возов плагина (без разницы откуда) всегда идет с включенной галкой. Если выити и зайти из фотошопа (CS6 x32\x64), то при первом вызове плагина галка соответствует реестру. Последующие вызовы всегда включают галку.

Также при масштабировании 125 или 150 процентов у меня на вин7 вылазит такое.
Образец 150%, на 125 чуть послабее:
Вы не авторизованы

Пожалуйста, авторизуйтесь, чтоб иметь доступ к полному функционалу сайта