Render.ru

Какой программой можно гигабайт картинок пообрезать что бы по одному размеру?

иван иванов 10906

Активный участник
Рейтинг
5
#1
Всем здравствуйте, подскажите, существует такая проблема. Скачал сайт, и вместе с ним кучу фоток, во все фотки вставлены названия по верхнему и нижнему краю (типа логотипы), большинство фоток в гиф формате, то есть движущиеся.
Вручную пробовал в "микрософт офис пикча мэнеджер" функцией обрезка, в принципе получается, но с небольшим количеством выделенных фоток, если весь гигабайт выделяю, программа виснет, и еще, движущиеся гифки сохраняются как простые картинки, остальные обрезает ...

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

Grinya

Активный участник
Рейтинг
7
#2
Photoshop! Используйте Action и Automate Batch.
Делаем экшин = последовательность действий, например, масштабирование.
А потом этот экшин применяем к папке с картинками.
Это все написано в Help.
 

G-Kir

Знаток
Рейтинг
20
#3
Да, шоп со своим батчем это выход, но попробовал только что Photoshop CS4 на предмет анимированных gif-ок -- сохраняет только первый кадр.

Короче могу посоветовать Corel PhotoPaint. Он без вопросов сохранил мне анимированный gif.
Опишу вкратце последовательность действий:
Открываем PhotoPaint, открываем в нем картинку, открываем докер Recorder (windows>dockers).
Нажимаем на кнопку Record и делаем обрезку (Image>PaperSize)
Выключаем запись (Stop)
Сохраняем запись как скрипт (в докере Save>Csc)
Выбираем File>Batch, добавляем файлы (add files), кстати неудобство в том что выбрать вложенные папки не получится
Добавляем сохраненный скрипт и выбираем опцию Save to new folder и Close
Запускаем. Идем курить.
 

иван иванов 10906

Активный участник
Рейтинг
5
#4
Попробовал корел, отличная функция, однако на этапе открытия пакетной обработки (у меня русифицированный корел) когда открываешь весь массив фоток и начинаешь выделять те которые обработать, при выделеннии небольшого количества все работает, при выделении где то более примерно 50 фоток, щелкаешь открыть - пишет "недопустимое имя файла"
Лазил в хэлпе, искал сколько можно в пакетной обработке файлов открыть, ниче не нашел...
То есть создал скрипт, сохранил, далее захожу в файл - пакетная обработка - добавить файл - щелкаю - выскакивает папка с фотографиями, если выделяю много фотографий, далее кликаю открыть выскакивает "недопустимое имя файла"
Если захватываю меньше фотографий, их открывает...
 

G-Kir

Знаток
Рейтинг
20
#6
У меня интернета три дня не было. Посмотрел -- да, не хочет выбирать много файлов. Ошибку не вываливает, просто ничего не происходит и всё. Корел в своем репертуаре, короче.

Ну что тогда посоветовать. Можно написать написать несложную примочку на VBA:

Код:
Sub GetFolderFiles()
Dim FoldNameFrom As String
Dim FoldNameTo As String
Dim Result As Long
Dim FileName As String
Dim Doc As Document
Dim ch As String

'=============================================
On Error Resume Next
FoldNameFrom = InputBox("ââåäèòå ïóòü ê ïàïêå ñ ôàéëàìè", "Àäðåñ")
Result = 0
Result = GetAttr(FoldNameFrom) And vbDirectory

If Result = 0 Then
    MsgBox "Íåò òàêîé ïàïêè!", vbCritical
    Exit Sub
End If
If Right$(FoldNameFrom, 1) <> "\" Then FoldNameFrom = FoldNameFrom & "\"

FoldNameTo = InputBox("&#226;&#226;&#229;&#228;&#232;&#242;&#229; &#239;&#243;&#242;&#252; &#234; &#239;&#224;&#239;&#234;&#229; &#226; &#234;&#238;&#242;&#238;&#240;&#243;&#254; &#237;&#243;&#230;&#237;&#238; &#225;&#243;&#228;&#243;&#242; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#242;&#241;&#255; &#244;&#224;&#233;&#235;&#251;", "&#192;&#228;&#240;&#229;&#241;")
Result = 0
Result = GetAttr(FoldNameTo) And vbDirectory

If Result = 0 Then
    MsgBox "&#205;&#229;&#242; &#242;&#224;&#234;&#238;&#233; &#239;&#224;&#239;&#234;&#232;!", vbCritical
    Exit Sub
End If
If Right$(FoldNameTo, 1) <> "\" Then FoldNameTo = FoldNameTo & "\"
'=============================================

FileName = Dir(FoldNameFrom)

Do While FileName <> ""
    ch = ""
    Select Case Right(FileName, 3)
        Case "jpg"
            ch = cdrJPEG
        Case "gif"
            ch = cdrGIF
        Case "bmp"
            ch = cdrBMP
        Case "png"
            ch = cdrPNG
    End Select
    
    If ch <> "" Then
        Set Doc = Application.OpenDocument(FoldNameFrom & FileName)
        Doc.PaperSize ActiveDocument.SizeWidth, ActiveDocument.SizeHeight - 100, , 50
        Doc.SaveAs(FoldNameTo & FileName, ch).Finish
        Doc.Close
    End If
    FileName = Dir
Loop
End Sub
Задаем папку из которой брать и в которую сохранять. Поддерживаемые форматы: jpg, gif, bmp, png (можно и больше).
Обрезает верх и низ по 50 (в общем 100). Если нужно больше/меньше, то меняем число 100 на требуемое (7 строка снизу), и 50 (половина требуемого -- это сдвиг по Y)
 

иван иванов 10906

Активный участник
Рейтинг
5
#7
А что такое ВБА?
А в фотошопе нет функции пакетной обработки с помощью скрипта? Может там кучу файлов можно обработать?
 

G-Kir

Знаток
Рейтинг
20
#9
> А что такое ВБА?

Это язык такой Basic от Мелкософта. Встроен в основные продукты MS Office, так же лицензирован Корелом для CorelDraw, Corel PhotoPaint, еще его юзает AutoDesk в своем AutoCad-е.

Код написан для PhotoPaint-a

Открываем PhotoPaint. Tools>Macros>MacroEditor (Alt + F11).
Открываем проект GlobalMacros и копируем код например в GlobalMacros > ThisDocument
Запускаем через Tools>Macros>RunMacro
В диалоге выбираем либо All Standard Project либо конкретно Global Macros. Появляется имя макроса GetFolderFiles.
Запускаем, копируем в диалоги пути к папкам и ждем.
 

иван иванов 10906

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

G-Kir

Знаток
Рейтинг
20
#11
Да, с русским языком при копировании частенько происходят метаморфозы либо в 1252 кодировку, либо в вопросительные знаки.

Прикладываю файл. Его нужно скачать на винт. Открыть блокнотом. Перед копированием нужно переключится в раскладку RU, скопировать, и в Photopaint-e вставить (тоже с RU).
 

G-Kir

Знаток
Рейтинг
20
#13
Я ведь писал, в GlobalMacros > ThisDocument.
Если всё сделано правильно, ключевые слова будут подсвечены синим, а нарисованные линейки зеленым. Если что-то вставилось неправильно, то красным.
 

иван иванов 10906

Активный участник
Рейтинг
5
#14
Ура, заработало, приятно когда сидишь, а компьютер работает, выполняя муторную ручную работу.
Однако несколько ньюансов. Режет фотки слишком круто, только полоска остается, ну это я с 7ой строкой поэскперементирую.

А вот еще при обработке каждого кадра выскакивает окошко с надписью:


"частота кадров в этом файле меньше 1 кадра в секунду. При сохранении оно будет округлено до 1 кадра в секунду." И кнопка ок

И приходиться каждый раз кликать на нее что бы обработать следующий кадр. Может че добавить в скрипт, что бы оно на автомате сохраняло частоту кадров, как и было на необработанных фото?
 

иван иванов 10906

Активный участник
Рейтинг
5
#15
И вот еще, что то в интернет эксплорере открываю обработанные гифки, а движение и пропало, остается только один кадр :-(
 

G-Kir

Знаток
Рейтинг
20
#16
Дело в том что я писал для версии 14. Она не задает вообще никаких вопросов и анимацию сохраняет. Как там с этим в прошлых версиях я проверить не могу.
Правда в 14 тоже есть одно "но". Сохранять-то сохраняет, а функцию Loop при этом не сохраняет, т.е. анимация проигрывается и останавливается. Получается что ни Шоп ни Пэинт не могут нормально работать с gif-ками. Скриптом вроде бы проблема не решается -- я не нашел подходящей функции в справке. Короче тут мне видится два выхода -- либо ставить Adobe Photoshop CS2, в котором еще имелся ImageReady и пробовать там. Правда я в упор не помню был там batch-процесс или не было его, можно ли там автоматически сохранять свойства gif-ки или нельзя. В общем это придется проверить экспериментальным путем.
Либо, если ImageReady не поможет, искать и пробовать какой-то другой софт.
 

иван иванов 10906

Активный участник
Рейтинг
5
#18
ну да, скорее всего в другой программе потребуется делать, кто знает где качнуть бесплатный редактор для пакетной обработки?
Скрипты вещь хорошая, но косяки с несохранением луп, и несохранение скорости показа гиф
 

иван иванов 10906

Активный участник
Рейтинг
5
#19
попробовал в ацдси, при открытии огромного количества фоток не виснет, пакетный редактор режет отлично, но, гифки опять превращаются в обычные фото, не движущиеся...
 
Сверху