powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Скрипт для FireWork:Разделение 16-картиночного фото
3 сообщений из 3, страница 1 из 1
Скрипт для FireWork:Разделение 16-картиночного фото
    #33897037
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мой цифровой фотоаппарат снимает анимацию, картинками по 16 кадров.
После съёмок надо бывает разделить фото на отдельные кадры и превратить в gif чтобы получить анимацию...
Я долго мучился с ручным разделением фото на кадрики, но вручную получалось плохо...
Тогда я написал скрипт на JavaScript для своего редактора FireWork. Картинки разделять стало удовольствием!
Скрипт надо копировать в папку Commands конфигурации этого редактора.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
var wI=fw.getDocumentDOM().width, hI=fw.getDocumentDOM().height;
var xI,yI,rect;
for(yI= 1 ;yI<= 4 ;yI++)
{
for(xI= 1 ;xI<= 4 ;xI++)
{
rect={left:wI*(xI- 1 )/ 4 , top:hI*(yI- 1 )/ 4 , right:wI*xI/ 4 , bottom:hI*yI/ 4 };
fw.getDocumentDOM().selectAllOnLayer( 0 );
fw.getDocumentDOM().setSelectionMask({maskBounds:rect, maskKind:"rectangle", maskEdgeMode:"hard edge", featherAmount: 0 , maskData:null}, "add");
fw.getDocumentDOM().addNewImageViaCut();
fw.getDocumentDOM().moveSelectionToLayer( 1 , false, "none", - 1 );
}
}
fw.getDocumentDOM().currentLayerNum =  1 ;
fw.getDocumentDOM().selectAllOnLayer( 1 );
//Align("left", bounds);
//Align("top", bounds);
fw.getDocumentDOM().align("left");
fw.getDocumentDOM().align("top");
fw.getDocumentDOM().setDocumentCanvasSizeToDocumentExtents(false);
fw.getDocumentDOM().distributeSelectionToFrames();
//fw.getDocumentDOM().rotateDocument( 270 );
fw.getDocumentDOM().setExportOptions({ animAutoCrop:true, animAutoDifference:true, applyScale:false, colorMode:"indexed", crop:false, cropBottom: 0 , cropLeft: 0 , cropRight: 0 , cropTop: 0 , ditherMode:"none", ditherPercent: 100 , exportFormat:"GIF animation", frameInfo:[ { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" }, { delayTime: 10 , frameHidden:false, frameName:null, gifDisposalMethod:"unspecified" } ], interlacedGIF:false, jpegQuality: 95 , jpegSelPreserveButtons:false, jpegSelPreserveText:true, jpegSelQuality: 90 , jpegSelQualityEnabled:false, jpegSmoothness: 0 , jpegSubsampling: 0 , localAdaptive:true, lossyGifAmount: 0 , macCreator:"????", macFileType:"????", name:null, numCustomEntries: 1 , numEntriesRequested: 128 , numGridEntries: 6 , optimized:true, paletteEntries:[ "#000000" ], paletteInfo:null, paletteMode:"adaptive", paletteTransparency:"none", percentScale: 100 , progressiveJPEG:false, savedAnimationRepeat: 0 , sorting:"none", useScale:true, webSnapAdaptive:false, webSnapTolerance: 14 , xSize: 0 , ySize: 0  });

Пример фото, обрабатываемого этим скриптом:
...
Рейтинг: 0 / 0
Скрипт для FireWork:Разделение 16-картиночного фото
    #33897049
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И результат обработки:
(я уменьшил разрешение фото, чтобы влесто в 70 кб)
...
Рейтинг: 0 / 0
Скрипт для FireWork:Разделение 16-картиночного фото
    #33897097
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Постановка слишком тривиальна ИМХО.

Вот если-б ты из панорамной съемки восстановил
объемную презентацию - тогда зачот.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Скрипт для FireWork:Разделение 16-картиночного фото
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]