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

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

Ответить
Настройки темы
Любой язык - Изменение размера изображений *.png; *.jpg; *.jpeg; *.bmp
it3 it3 вне форума

Пользователь


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

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


Доброго времени суток!
Есть много изображений (с расширениями: *.png; *.jpg; *.jpeg; *.bmp) в D:\Test, которая содержит много подкаталогов, в которых содержатся тоже изображения.

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

Подойдёт любой язык. Главное чтобы выполнял свою задачу.

Подсобите пожалуйста командой, скриптом.

Отправлено: 08:10, 18-12-2018

 

Ветеран


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

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


Цитата it3:
Выходной папкой будет являться каталог с исходными файлами. Имена должны быть так же сохранены. »
Это как?

Цитата it3:
уменьшить все изображения путем изменения размера в пикселях сохраняя пропорцию. »
Как именно уменьшить?

Скажу сразу, вам понадобится ImageMagick с параметрами.

Отправлено: 08:19, 18-12-2018 | #2



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

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

it3 it3 вне форума Автор темы

Пользователь


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

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


Цитата Iska:
Это как? »
Путем замены.
Цитата Iska:
Как именно уменьшить? »
Можно подробнее вопрос?
HTML код: Выделить весь код
Необходимо уменьшить все изображения путем изменения размера в пикселях сохраняя пропорцию. А так же не изменять размер, если исходных размер меньше нового и если размер изображения не изменяется, то с файлом ничего делать не нужно.

Аналогичные действия делает программа FSViewer. Но она не очень удобна.

Отправлено: 08:23, 18-12-2018 | #3


Ветеран


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

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


Цитата it3:
Можно подробнее вопрос? »
Вот есть у нас два изображения, одно 1000x2000, другое 2000x1000. К какому «размеру в пикселях» их надо привести?

Цитата it3:
Аналогичные действия делает программа FSViewer. »
И умеет:
Цитата:
А так же не изменять размер, если исходных размер меньше нового
?

Отправлено: 09:33, 18-12-2018 | #4

it3 it3 вне форума Автор темы

Пользователь


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

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


Изображения
Тип файла: png FSViewer.png
(14.2 Kb, 4 просмотров)

Цитата Iska:
Вот есть у нас два изображения, одно 1000x2000, другое 2000x1000. К какому «размеру в пикселях» их надо привести? »
1000x2000 = 768хN
2000x1000 = 1024xN
Цитата Iska:
И умеет: »
Умеет (скриншот во вложении).

Отправлено: 09:45, 18-12-2018 | #5


Ветеран


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

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


Цитата it3:
1000x2000 = 768хN
2000x1000 = 1024xN »
У Вас тут явно в одном месте высота с шириной попутаны .


Пробуйте:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=%~1

if defined sSourceFolder (
	2>nul pushd "%sSourceFolder%" && (
		for /f "usebackq delims=" %%i in (
			`2^>nul dir /b /a:-d "*.png" "*.jpg" "*.jpeg" "*.bmp"`
		) do (
			echo [%%~i]
			magick.exe "%%~i" -resize 1024x768^> "%%~i"
		)
		popd
	) || (
		echo Can't change current folder to [%sSourceFolder%]
		exit /b 2
	)
) else (
	echo Usage: %~nx0 ^<Source folder^>
	exit /b 1
)

endlocal
exit /b 0

Путь к исходному каталогу указывается аргументом пакетного файла (также можно просто перетащить папку на пакетный файл в Проводнике).

Для работы Вам потребуется загрузить и установить ImageMagick (если только у Вас не полиграфия — берите либо ImageMagick-7.0.8-16-Q8-x64-static.exe, либо ImageMagick-7.0.8-16-Q8-x86-static.exe в зависимости от разрядности Вашей ОС) отсюда: Download @ ImageMagick, Windows Binary Release.

P.S. Разумеется, изначально «потренируйтесь на кошках».

Отправлено: 12:43, 18-12-2018 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Ищу способ задания раздельных иконок для jpg/png/bmp A1EXXX Microsoft Windows 10 2 30-10-2017 11:11
можно ли онлайн переделать скрин bmp в png? _VIPER_ Хочу все знать 10 22-03-2012 14:00
PNG 32-бит в BMP rom8284 Цифровое изображение 1 28-03-2010 14:13
Графика - Изменение размера изображений kirill_ghost Программное обеспечение Windows 10 15-05-2008 17:45
Вместо jpeg сохраняет bmp Evita Хочу все знать 14 05-06-2005 23:10




 
Переход