ImageJ Resize Launcher - правильно и быстро ресайзим изображения

Всего 631 сообщ. | Показаны 161 - 180
Re[n1kka]:
Ну пакет утянул на всякий случай, малоли)
Да, действительно дело в jpg\jpeg было
Re[vetroff]:
от: vetroff
Я могу простестить, и на маке и под виртуалкой.

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

Первый опыт программирования под мак :D но неудобство этой операционки...это что-то с чем-то....

з.ы. программа ща ресайзит под маком, imagej не видно, но значок мигает в панели программ (типа запущен), но все в фоне делается. Еще посмотреть надо как профилирование работает exiftool под мак.

Работы там на пару копеек, а заниматься лень вечерами, вчера хотел покодить, а по ящику футбол показывали, пришлось его смотреть :cannabis:
Re[Цых]:
от: Цых
Для мака у меня уже есть удобнейший драг-н-дроп скрипт )) не дроплет

Есть люди которым охота настройки через интерфейс менять, а не в скриптах вазюкаться ;) А если мне захочется после ресайза другие экшены пульнуть, то что тогда? :) А если у человека не одни настройки, а каждый раз разные? Кучу дроплетов плодить и сриптов? ))

А что касается дроплета - то дроплет нужен для запуска фотошопа, чтобы фотошоп профилировал файл, но сейчас есть второй режим, профилирует exiftool :)

А чем программа-то сложнее? Так же перетащил, указал размер и нажал старт :D
Re[n1kka]:
Дык этот скрипт у меня ресайзит а потом им в фотошопе выполняется нужный экшн. Если разные настройки, надо скриптик доработать чтобы он переменные передавал в макрос. Ща пульну сюда исходник
Re[n1kka]:
on open of my_files
set imagej_home to "/Applications/ImageJ"
set action_name to "ImageJAssignProfile"
set action_suite to "ImageJ"
repeat with my_file in my_files
set my_path to POSIX path of my_file
do shell script "export IMAGEJ_HOME=" & imagej_home & "; cd ${IMAGEJ_HOME}; /usr/bin/java -Xms1024m -Xmx2048m -jar ./ImageJ64.app/Contents/Resources/Java/ij.jar -batch SharpResize \"" & my_path & "\"> ~/foo.log 2>&1 & "
repeat
tell application "System Events"
set aplications_list to (name of every process)
end tell
if (aplications_list contains "java") is true then
tell application "System Events" to set visible of process "java" to false
exit repeat
end if
end repeat
repeat
tell application "System Events"
set aplications_list to (name of every process)
end tell
if (aplications_list contains "java") is false then
exit repeat
end if
end repeat
set resp to do shell script "export IMAGEJ_HOME=" & imagej_home & "; cd ${IMAGEJ_HOME}; cat ~/foo.log; rm -f ~/foo.log"
set my_small_file to POSIX file resp as string
set my_small_path to POSIX path of my_small_file
tell application "Adobe Photoshop CS6"
set display dialogs to never
open file (my_small_path as string) -- showing dialogs never -- with options {class:PDF open options, suppress warnings:false}
tell front document
do action action_name from action_suite
save in my_small_path as JPEG with options {class:JPEG save options, quality:12, format options:optimized}
close saving no
end tell
end tell
do shell script "rm -rf '" & my_small_path & "'"
end repeat
end open
Re[Цых]:
Вот сюда бы добавить только чтобы при перетаскивании жпегов на скрипт выскакивало диалоговое окно с финальными размерами ресайза, которые потом переменными можно было бы передавать в макрос для ImageJ, было бы вообще чудно ) А то пока руками приходится править )
Re[n1kka]:
Сам макрос для ImageJ у меня сейчас выглядит вот так

setBatchMode(true);
run("Input/Output...", "jpeg=100 gif=-1 file=.txt copy_row save_column save_row");
fullFileName = getArgument();
if (fullFileName == "") exit("Please pass at least one argument!");
fileName = substring(fullFileName, 0, lastIndexOf(fullFileName, "."));
ext = substring(fullFileName, indexOf(fullFileName, ".") + 1);
ext = "tif";
fullWebFileName = "";
if (endsWith(fileName, "_full")) {
// fullWebFileName = substring(fileName, 0, lastIndexOf(fileName, "_")) + "_web." + ext;
fullWebFileName = replace(fileName, "_full", "") + "_web." + ext;
} else {
fullWebFileName = fileName + "_web." + ext;
}
open(fullFileName);
if (getWidth() > getHeight()) {
sizeX = 1024;
sizeY = sizeX / getWidth() * getHeight();
run("Resize ", "sizex=" + sizeX + " sizey=" + sizeY + " method=Least-Squares interpolation=Cubic unitpixelx=true unitpixely=true");
} else {
sizeY = 900;
sizeX = sizeY / getHeight() * getWidth();
run("Resize ", "sizex=" + sizeX + " sizey=" + sizeY + " method=Least-Squares interpolation=Cubic unitpixelx=true unitpixely=true");
saveAs("Tiff", fullWebFileName);
}
print(fullWebFileName);
saveAs("Tiff", replace(replace(fullWebFileName, "[", "("), "]", ")"));
close();
Re[Цых]:
от:Цых
Вот сюда бы добавить только чтобы при перетаскивании жпегов на скрипт выскакивало диалоговое окно с финальными размерами ресайза, которые потом переменными можно было бы передавать в макрос для ImageJ, было бы вообще чудно ) А то пока руками приходится править )
Подробнее

Ну вот поэтому и программу нужна, чтобы:

1. не надо править скрипты (конечно есть джедаи, которые любят ковыряться в конфигах, но оно надо большинству-то? эти ковыряния...))
2. быстрая смена нужных настроек

версия под винду - для себя писал )))
а версия для мака, просто стало интересно как программировать под макинтош ))))))))
Re[n1kka]:
не читабельно тут нифига постится, а посему скрином лучше запощу первый скрипт

Re[n1kka]:
ну дык скрипт и есть же программа, который можно сохранить как app ))
Re[n1kka]:
У меня этот app висит в доке и я на него жпеги перетягиваю которые надо уменьшить, и он мне рядом складывает уменьшенные копии с суффиксом _web )) Удобно же
Re[Цых]:
от: Цых
У меня этот app висит в доке и я на него жпеги перетягиваю которые надо уменьшить, и он мне рядом складывает уменьшенные копии с суффиксом _web )) Удобно же

Удобно)) я еще раз повторюсь )) что ты будешь делать, если у тебя:

1. разный размер ресайзов для каждой ситуации
2. после того, как ты передал изображение в фотошоп, то профилируется конкретным экшеном, а если у человека от разной ситуации разные экшены, то что тогда?

итог: как этим способом (твоим) обеспечить многофункциональность настроек? ))
Re[n1kka]:
Еще раз отвечу, диалоговым окном, которое нужно реализовать в начале скрипта, которое передаст
1) в макрос размер ресайза
2) в фотошоп имя экшна
Re[Цых]:
[quot]Еще раз отвечу, диалоговым окном[/quot]
Ну и чем это будет отличаться от моей софтины? ))

А ты не думал профилировать не фотошопом, а exiftool использовать? Я смотрел у тебя кадры женщины в красном, там лесенку хорошо видно, просто для качества конечно фотошоп, а для репортажа, например, и сохранение сразу в jpg + exiftool сгодится.

[quot]которое нужно реализовать в начале скрипта[/quot]
При помощи чего там диалоги создаются? Automator? я просто без понятия о всяких autoit для macos...

Для мака есть две рульные вещи, это XCode и Qt...
Re[n1kka]:
Это на apple script сделано штатными средствами макоси)) делал alone_b с ЖЖшки, я лишь допилил чтобы драг н дроп работал. Так-то в этом не настолько глубоко разбираюсь))

Поэтому подсказать не могу ничего, надо у него поинтересоваться)
Re[Цых]:
от: Цых
У меня этот app висит в доке и я на него жпеги перетягиваю которые надо уменьшить, и он мне рядом складывает уменьшенные копии с суффиксом _web )) Удобно же

Поделитесь скриптом и апп для мака если не жалко?
Re[Tynda]:
дык вон он выше висит скипт и макрос для ImageJ ) Вставляйте его в AppleScript Editor и сохраняйте как app ) Только не забывайте там исправить 3 переменные в начале - путь где лежит ImageJ, имя папки с экшнами и имя экшна. Ну и Макрос надо кинуть в ImageJ/macros и назвать его SharpResize.txt
Re[Цых]:
от: Цых
Это на apple script сделано штатными средствами макоси))

Если нет диалоговых окон, то ничем он от cmd в винде не отличается, с таким же успехом можно написать батник для винды и на него перетаскивать файлы.... Меня интересует вопрос, можно ли штатными средствами макоси смастерить любое диалоговое окно, в которое можно вбивать параметры?...
Re[Цых]:
от:Цых
дык вон он выше висит скипт и макрос для ImageJ ) Вставляйте его в AppleScript Editor и сохраняйте как app ) Только не забывайте там исправить 3 переменные в начале - путь где лежит ImageJ, имя папки с экшнами и имя экшна. Ну и Макрос надо кинуть в ImageJ/macros и назвать его SharpResize.txt
Подробнее

Спасибо!
Re[Цых]:
А реально ли в этом макросе заменить размеры картинки в пикселях на размеры в процентах?

З.Ы. разобрался в скрипте, всё там можно настроить, я ступил поначалу, последний раз программу писал в прошлом тысячелетии =))