Action и Save for web

  • Автор темы Автор темы Cepera
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Cepera

Участник
Топикстартер
Сообщения
27
Реакции
0
Здравствуйте.
Подскажите в таком вопросе.
Сохраняю JPEG превьюшку для стоков и должно быть по большей стороне 5000 px. Записываю action для этого но оно записывает увеличение по процентам и если исходный файл уже другого размера то увеличивается не корректно то есть по большей стороне выходит уже не 5000рх а меньше или больше...
Как записать Аction так что бы большая сторона исходника увеличивалась ровно на 5000рх или может есть скрипт какой-то...?
 
А если через Export в JPEG сохранять? Там, вроде, разрешение прописывается.
ЗЫ: Я кажется понял, что вам надо. То есть, каждый раз, в зависимости от того какая сторона больше или меньше, 5000 пикселей надо подгонять под нее? Это уже нелинейный алгоритм, экшном вы не отделаетесь. Или придется в экшн включать скрипт.
 
Последнее редактирование:
Два экшена сделайте вертикальный и горизонтальный. Прогнали первый - выявили файлы у которых косяк с шириной. Эти файлы кидаете отдельно и пропускаете второй экшен.

Не по теме:
Ну или умоляйте _МВК_ он может от скуки и накидает скрипт :) только ник надо другой хоть народ и отрицает но женским никам помогают охотней
 
В Export нигде там не видел что бы можно было прописать размер...
Да, в итоге нужно получить JPEG формат по большей стороне 5000рх, ну и соответственно чтобы пропорции изображения сохранялись.
А есть скрипт который может помочь в этом?
 
Два экшена сделайте вертикальный и горизонтальный. Прогнали первый - выявили файлы у которых косяк с шириной. Эти файлы кидаете отдельно и пропускаете второй экшен.
Как ты себе мыслишь экшн, который бы сам определял какая размерность больше? Экшн - совершенно линейная последовательность и ветвления не допускает. Вообще, я неоднократно говорил, что иллюстратор - самая неудобная программа в плане автоматизации, в ней адобовские индусы оттянулись в торможении по полной. Начать с того, что экспортировать в растровый файл с заданием размеров можно только в экшне, а ветвление использовать только в скрипте. Теоретически это должен быть некий экшн, который вызывает скрипт, масштабирующий изображение до нужных размеров (в зависимости от того что больше, ширина или длина), затем экспортирует отмасштабированное изображение. Хотя... Если допустить что экспортированная превьюшка будет фиксированного разрешения 72 dpi вне зависимости от исходного размера, то можно обойтись одним скриптом без экшна вообще.
 
Так что для этого дела подойдет только скрипт я так понимаю, и такой скрипт в природе пока неизвестен... Подскажите что нужно толкового почитать что бы самому смастерить скрипт под свои запросы иллюстраторские? Интересна данная тематика
 
Ну я описал способ которым бы воспользовался сам. Скрипты писать не умею ибо. Честно говоря для стоков я и без экшена обхожусь :) Нет у меня такого количества собственных картинок. Нужна сортировка горизонтальный вертикальный ее вполне можно сделать вручную. Ну и делать такую вещь проще в фотошопе.
 
Ну, к примеру, экшном можно подложить под изображение белый квадрат фиксированного размера и все изображения станут одинаковыми. Тогда можно экшном обойтись.
А скрипт писать, да, непросто. В иллюстраторовской соответствующий подкаталог, в котором содержится документация по скриптингу с примерами работы.
 
Ну, к примеру, экшном можно подложить под изображение белый квадрат фиксированного размера и все изображения станут одинаковыми. Тогда можно экшном обойтись.
Не, квадрат не подойдет, там галочка стоит "обрезать по монтажной области" так как на превьюшке должна быть только монтажная область и оно считает по монтажной области...
 
FastStone -- бесплатный вьювер. Справляется с поставленной задачей легко.

А можно в Bridge отсортировать файлы по Dimension и прямо из него запустить экшн сначала для горизонтальных, а затем для вертикальных.

Сохраняю JPEG превьюшку для стоков и должно быть по большей стороне 5000 px.
Не многовато ли для preview?
 
Я писал себе такой скрипт, но как-то не прижился в работе. Сейчас просто делаю экспорт с заданным dpi.
Код:
/*=====================================================================================
    О П И С А Н И Е
=======================================================================================
Cкрипт экспортирует в JPEG максимального качества с заданными минимальными размерами сторон.

-------------------------------------------------------------------------------------
© polygraphus, 2008
polygraphus [ж у ч к а] gmail.com

=====================================================================================
    Н А С Т Р О Й К А (здесь можно изменить настройки работы скрипта)
=====================================================================================*/
// Задаем минимальные размеры сторон (pixels)
var big = 5000; // минимальный требуемый размер большей стороны
var small = 2000; // минимальный требуемый размер меньшей стороны

/*=====================================================================================
    С К Р И П Т (неизменяемая часть скрипта, вернее изменять можно, но со знанием дела)
=====================================================================================*/
if ( app.documents.length > 0 ) { // если есть открытые документы
    var myDoc = app.activeDocument; // текущий докумет

    var w = myDoc.width;
    var h = myDoc.height;
    var smallSide = Math.min(w, h); // меньшая сторона документа
    var bigSide = Math.max(w, h); // бОльшая сторона документа
 
    var scale; // требуемый масштаб экспорта в Jpg
    if(small/smallSide >= big/bigSide){
        scale = 100*small/smallSide;
    } else {
        scale = 100*big/bigSide;
    }

    if(scale > 776.19) { // это ограничение заложено в скриптовой модели Adobe Illustrator
        alert('JPEG не сохранен!!!\n\nДля сохранения JPEG с заданными минимальными размерами\nнеобходимо чтобы размеры изображения были не меньше\n' + (Math.floor((25.4*w/72)*(scale/776.19))+1)+' x '+Math.floor((25.4*h/72)*(scale/776.19)+1)+' мм.');
    } else {
        var fname_str = this.getTargetFile(myDoc.name,  Folder.decode (myDoc.path)); // полное имя для сохранения как EPS
        var newJpgFile = new File(fname_str+'.jpg'); // создаем новый файл
        var saveJpgOpts = getJpgOptions(scale); // параметры сохранения как Jpg
     
        myDoc.exportFile( newJpgFile, ExportType.JPEG, saveJpgOpts ); // сохраняем Jpg
    }
}
//================================================================
function getJpgOptions(scale) {
// ф-я устанавливает параметры сохранения Jpg
//================================================================
    //scale = 100;
    var saveOpts = new ExportOptionsJPEG();
    saveOpts.antiAliasing = true;
    saveOpts.artBoardClipping = true;
    saveOpts.qualitySetting = 100; // качество от 0 (наихудшее) до 100 (максимальное)
    saveOpts.horizontalScale = scale;
    saveOpts.verticalScale = scale;
    return saveOpts;
}
//================================================================
function getTargetFile(docName, destFolder) {
// ф-я формирует строку полного имени файла (без расширения) из следующих входных параметров:
// docName -- имени (возможно с расширением);
// destFolder -- пути.
//================================================================
    var newName = ""; // создаем переменную в которой будет формироваться полное выходное имя

    if (docName.indexOf('.') < 0) { // если входное имя не имеет символа '.' (точка)
        newName = docName; // то к выходному имени добавляем расширение
    } else { // если входное имя имеет символ '.' (точка)
        var dot = docName.lastIndexOf('.'); // то определяем позицию этого символа
        newName += docName.substring(0, dot); // затем выходному имени приравниваем входное откинув точку и все следующие символы
    }
    var myFile = destFolder + '/' + newName; // формируем полное выходное имя
    return myFile; // возвращаем сформированное полное имя
}
 
Последнее редактирование:
  • Спасибо
Реакции: Cepera и _MBK_
По сути это именно то, о чем я говорил.
 
FastStone -- бесплатный вьювер. Справляется с поставленной задачей легко.
Нужно что бы с EPS формата оно делало JPEG. Как понял эта программа этого не сделает...
Не многовато ли для preview?
Ну это идет не только как превью но и как дополнительный формат JPEG
 
Я писал себе такой скрипт, но как-то не прижился в работе. Сейчас просто делаю экспорт с заданным dpi.
А почему не прижился?
С заданным dpi можно сделать конкретный размер по большей стороне учитывая что исходники разных размеров ? Или у вас исходники постоянно одного размера?
 
Я писал себе такой скрипт
О да, это то что нужно. А как исправить то что "для сохранения JPEG с заданными минимальными размерами необходимо что бы размеры изображения были не меньше 224х228 мм" ? Это где-то 640х640 рх, есть исходники с меньшими размерами. Это ограничения Иллюстратора я так понял, его нельзя обойти?
 
Последнее редактирование:
На самом деле ограничение чуть меньше.
Минимальный размер должен быть 5000/776*24,5/72=2,19 мм
 
На самом деле ограничение чуть меньше.
Минимальный размер должен быть 5000/776*24,5/72=2,19 мм
Это нужно в этой строке прописать ?
(Math.floor((25.4*w/72)* (scale/776.19))+1)+' x '+Math.floor((25.4*h/72)* (scale/776.19)+1)+' мм.')
 
Не прижился потому, что исходники чаще всего одного размера, не нужен точный размер, достаточно сделать не меньше, и запуск скрипта требует не намного меньше телодвижений чем сделать экспорт.
А как исправить то что…
Это можно исправить только увеличив исходную картинку. Скриптом можно увеличивать выходную картинку не более чем в семь с небольшим раз.
 
А, точно, 100 проглядел.
 
А если через какой нибудь imageCapture экспортировать? Там, вроде ограничение в районе 5 см 'hmmm'
 
Статус
Закрыто для дальнейших ответов.