|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Обрезка картинки |
|
CMD/BAT - [решено] Обрезка картинки
|
Ветеран Сообщения: 2196 |
Профиль | Отправить PM | Цитировать Можно ли с помощью bat или сторонних программ обрезать края картинок jpg, расположенных "c:\WINDOWS\Web\Wallpaper\" до пропорций установленного разрешения экрана?
|
|
Отправлено: 15:50, 04-05-2012 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать kiripanda, условием задачи было определение установленного разрешения экрана и образка краёв картинки до пропорций этого разрешения. Настройка свойств экрана - фоновый рисунок растянут.
|
Отправлено: 11:06, 10-05-2012 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Del
|
Последний раз редактировалось kiripanda, 10-05-2012 в 14:38. Отправлено: 12:38, 10-05-2012 | #22 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать kiripanda, не то.
1. В приведённом Вами коде изображение обрезается, невзирая на его собственные размеры, до размеров экрана. А надо — а) согласно его собственным размерам и б) пропорционально размерам экрана. 2. Изображение может быть меньше размеров экрана. |
Отправлено: 13:09, 10-05-2012 | #23 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать kiripanda, зачем «Del»? Статься, кому-нибудь именно Ваш вариант бы и пригодился.
|
Отправлено: 16:55, 10-05-2012 | #24 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать @echo off &setlocal enabledelayedexpansion set in=z:\sklad\ set out=c:\windows\Web\Wallpaper\ set i_view=i_view32.exe for /f %%s in ('wmic DesktopMonitor get ScreenHeight^,ScreenWidth /value ^|find "="') do set "%%s" for /f "delims=" %%f in ('dir /b/a-d/s %in%\*.jpg') do ( title "%%f" %i_view% "%%f" /info=%temp%\info.tmp for /f "tokens=4,6" %%x in ('type %temp%\info.tmp ^|find "Image dimensions"') do ( set /a newx=%%x*%ScreenHeight%/%%y &set /a newy=%%y*%ScreenWidth%/%%x if "!newy!" GEQ "%ScreenHeight%" %i_view% "%%f" /resize_long=%ScreenWidth% /aspectratio /resample /convert=temp.bmp if "!newx!" GEQ "%ScreenWidth%" %i_view% "%%f" /resize_short=%ScreenHeight% /aspectratio /resample /convert=temp.bmp %i_view% %in%\temp.bmp /info=%temp%\info.tmp for /f "tokens=4,6" %%x in ('type %temp%\info.tmp ^|find "Image dimensions"') do ( if "%%y" GTR "%ScreenHeight%" ( set /a starty=^(%%y-%ScreenHeight%^)/2 %i_view% %in%\temp.bmp /crop=^(0,!starty!,%ScreenWidth%,%ScreenHeight%^) /jpgq=90 /convert=%out%\%%~nf.jpg ) if "%%x" GEQ "%ScreenWidth%" ( set /a startx=^(%%x-%ScreenWidth%^)/2 %i_view% %in%\temp.bmp /crop=^(!startx!,0,%ScreenWidth%,%ScreenHeight%^) /jpgq=90 /convert=%out%\%%~nf.jpg ) ) ) ) del /q %temp%\info.tmp %in%\temp.bmp |
Отправлено: 17:19, 10-05-2012 | #25 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать kiripanda, попробовал скрипт, ошибка
|
Отправлено: 20:30, 10-05-2012 | #26 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать попробуй указать полный путь к i_view32.exe
|
Отправлено: 20:48, 10-05-2012 | #27 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:22, 10-05-2012 | #28 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать in и out если уж брать в кавычки, то
set "in=z:\sklad\" set "out=c:\windows\Web\Wallpaper\" |
Отправлено: 22:10, 10-05-2012 | #29 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать kiripanda, новый код так же масштабирует изображения к разрешению экрана вместо простого обрезания краёв сверху или снизу. Также изображения, у которых высота больше ширины, становятся банально квадратными со стороной, равной высоте экрана — т.е. недостаточно урезаются по высоте.
sov44, так мой код заработал у Вас после установки библиотеки? |
Отправлено: 22:48, 10-05-2012 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Графика - обрезка пустых краев изображения | nmn | Программное обеспечение Windows | 4 | 26-08-2010 18:25 | |
.NET - [решено] CroppedBitmap. Обрезка изображения. | Casper-SC | Программирование и базы данных | 1 | 21-08-2010 10:23 | |
Прочие - Нужна программа, что бы заливать картинки в чаты, а не ссылки на картинки | Clever fellow | Программное обеспечение Windows | 2 | 18-02-2010 17:22 | |
Обрезка AVI | Евгешка | Видео и аудио: обработка и кодирование | 5 | 31-03-2008 20:37 |
|