Скрипт экспортирует в png, но дата изменения не меняется, как пофиксить?

Статус
Закрыто для дальнейших ответов.

Larvatus

Участник
Топикстартер
Сообщения
199
Реакции
6
Другие проги (в частности 3D Max) не видит обновлений в файле и берет картинку из своего кэша видимо. Как в файл вставляется инфа о времени его изменения? Это не функция винды? Почему иллюстратор вносит изменения только в контент картинки, не затрагивая описание?
 

splxgf

12 лет на форуме
Сообщения
7 744
Реакции
3 425
Дата изменения точно не меняется? Или просто в максе не обновляется?
Диск локальный или сетевой?
Некоторые оптимизаторы под SSD-диски отключают обновление времени последнего доступа, может что-то подобное и в вашем случае.
 

Larvatus

Участник
Топикстартер
Сообщения
199
Реакции
6
Диск локальный, не SSD. Точно, вплоть до секунды та же самая инфа в обновленном файле остается. Создан, изменен, открыт. После экспорта остались такими же. В максе кнопка Reload обновляет картинку, только если даты изменения разные. Экспортнул в обычном режиме из люстры - в максе все подхватилось и поменялось.
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
А если скриптом экспортить не поверх предыдущего, а сначала стирать целиком старый пнг-файл, а затем уже экспортить в новый с таким же именем инфа не поменяется?
 

splxgf

12 лет на форуме
Сообщения
7 744
Реакции
3 425
Ну тогда лучше скриптик глянуть, минимум фрагмент ответственный за сохранение.
 

Larvatus

Участник
Топикстартер
Сообщения
199
Реакции
6
PHP:
var type = ExportType.PNG24;
/*-----------------------------*/
if (version>="14.0.0")  activeDocument.artboards[0].artboardRect=vgb2;
fileSpec = new File(activeDocument.path + "/" + fpathEt.text + "/" + it[j].name + ".png" );
activeDocument.exportFile( fileSpec, type, exportOptions ); exportOptions.artBoardClipping=true;
 
Последнее редактирование:

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
интересный подход, сначала делать экспорт, а потом его параметры менять )
 

Larvatus

Участник
Топикстартер
Сообщения
199
Реакции
6
правильнее так?
PHP:
activeDocument.exportFile( fileSpec, type, exportOptions ); exportOptions.artBoardClipping=true;

fileSpec = new File(activeDocument.path + "/" + fpathEt.text + "/" + it[j].name + ".png" );
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
exportOptions.artBoardClipping=true; должно быть до activeDocument.exportFile
 

Larvatus

Участник
Топикстартер
Сообщения
199
Реакции
6
должно быть до activeDocument.exportFile
Спасибо, исправил. Но очень странно. Вчера не обновлялось. После перезагрузки иллюстратора в максе кнопка Reload отрабатывала, только если экспортнуть встроенным функционалом. А сегодня работает и исправленный скрипт и старый. Причем нажатие Reload в Max'е не требуется, он сам обновляет текстуру, как только она сохраняется снаружи и отображение во вьюпорте тоже... видимо нужно было перезагружать или макс или весь комп. Но спасибо за помощь!
 
Статус
Закрыто для дальнейших ответов.