Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - скрипт рекурсивного изменения размера изображений

Ответить
Настройки темы
Любой язык - скрипт рекурсивного изменения размера изображений

Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


Изменения
Автор: batyaPS
Дата: 18-01-2015
имеем папку с папками(тысячи) в которых лежат tifы
данные тифы получены путём сканирования с определенными параметрами
Скрытый текст

<ImagePath Path="\\10.xx.xx.xx\scan\" ViewingPath="C:\Program Files\IrfanView\i_view32.exe" FileExt="tif" ScanParams="/scan /dpi=(300,300) /convert=%2:S" ConvertToSave="%1:S /resize_short=800 /resample /aspectratio /dpi=(300,300) /bpp=4 /jpgq=40 /tifc=7 /convert=%2:S" ConvertToTIF="1:S /convert=%2:S" AppendToTIF="%1:S /append=%2:S /silent /killmesoftly"/>

через IrfanView, обычно они имеют размер 800*1100(может варьироваться +- т.е. 1098 1200) и физический размер 150-400 кб
но где то произошла ошибка и размеры тифов получились 2552*3508 и физически на 25 м каждый

помогите скриптом который пройдется по всем вложенным папкам (их по идее одна рекурсия) и скорректирует размер тифов до 800*(соотношение стороны)

Отправлено: 01:52, 18-01-2015

 

Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


и глубина цвета должна быть 4 а получились 24

Отправлено: 02:23, 18-01-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


batyaPS, не очень понятно с некоторыми деталями. В частности непонятно, где ширина, а где высота в:
Цитата batyaPS:
800*1100 »
а также про глубину в:
Цитата batyaPS:
глубина цвета должна быть 4 »
Вы не могли бы выложить образец результата некорректного сканирования и образец того, что нужно получить? Полагаю, на примерах станет понятнее.

Отправлено: 02:27, 18-01-2015 | #3


Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


Цитата Iska:
не очень понятно с некоторыми деталями. В частности непонятно, где ширина, а где высота в: »
800 ширина, это обычные a4
выложил https://yadi.sk/d/9Lo45cmUe4YGM

можно дабы сильно не нагружать систему не все файлы проверять а допустим с фильтром по размеру, к примеру от 5 мб

Отправлено: 12:32, 18-01-2015 | #4


Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


есть нюанс, некоторые тифы многостраничные (я там на яндексе прикрепил файл на 37 метров) это нормально, у них разрешение 800*1100
их по идее трогать не нужно.

Отправлено: 13:01, 18-01-2015 | #5


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


batyaPS, Я бы попробовал nconvert
Код: Выделить весь код
@echo off

for /d /r "C:\Foto" %%i in (*) do nconvert ... "%%i\*.tif"
Как установить глубину цвета не нашел, возможные опции для ресайзинга:
Код: Выделить весь код
nconvert -ratio -resize 800 -overwrite ...
nconvert -resize 800 1100 -overwrite ...
nconvert -ratio -resize 1100 1100 -overwrite ...
Справку можно посмотреть так:
Код: Выделить весь код
nconvert -help | more
nconvert -help > help.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:32, 18-01-2015 | #6


Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


Foreigner, спасибо конечно за наводку, но боюсь я сам не докумекую как реализовать

Отправлено: 16:17, 18-01-2015 | #7


Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


хотя что бы особо не усложнять скрипт можно все файлы рекурсивно перегнать в 800*1100 в черно-белое

Отправлено: 16:53, 18-01-2015 | #8


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


batyaPS, Ну так попробуйте разные варианты nconvert (приведены выше)
Код: Выделить весь код
@echo off

for /d /r "C:\Foto" %%i in (*) do nconvert -resize 800 1100 -overwrite "%%i\*.tif"
Обязательно создайте тестовую папку, поместите туда образцы файлов, пропишите вместо "C:\Foto" ее реальное название, запустите и проверьте результат.

Отправлено: 17:27, 18-01-2015 | #9


Аватара для yurfed

Ветеран


Сообщения: 20133
Благодарности: 3145

Профиль | Отправить PM | Цитировать


batyaPS, А так не пойдёт? Семь бесплатных программ для пакетной обработки графических файлов

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 17:38, 18-01-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - скрипт рекурсивного изменения размера изображений

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - Windows перестал запускаться после изменения размера диска svetkost Microsoft Windows 7 5 09-03-2014 15:11
CMD/BAT - Нужна помошь:скрипт для проверки изменения размера папки, с перезапуском программы abezze Скриптовые языки администрирования Windows 0 20-12-2011 16:43
Графика - Изменение размера изображений kirill_ghost Программное обеспечение Windows 10 15-05-2008 17:45
Проблемы изменения изображений и текста pvik1970 Автоматическая установка Windows 2000/XP/2003 4 22-01-2006 15:40
Программа, для изменения размера изображения libricon Общий по Linux 6 27-10-2005 23:41




 
Переход