AppleScript: разрезать изображения пополам?
Можно ли разрезать изображение пополам с помощью AppleScript и сохранить их отдельно?
2 ответа
Было бы проще использовать ImageMagick. Это сохраняет левую половину как input-0.png
и правая половина как input-1.png
:
convert input.png -crop 50%x100% +repage input.png
Это сохраняет только правую половину как right.png
:
convert input.png -gravity east -crop 50%x100% +repage right.png
+repage
удаляет метаданные для старого размера холста. См. http://www.imagemagick.org/Usage/crop/.
Вы можете установить ImageMagick с brew install imagemagick
или же sudo port install imagemagick
,
Вы можете использовать Image Events, которая поставляется с Mac OS X, чтобы обрезать изображение, если у вас нет доступа к приложению для редактирования изображений со сценариями (как в Photoshop). Чтобы получить размеры изображения просто используйте что-то вроде следующего...
on GetImageDimensions(TheFile) -- (file path as string) as {width, height}
try
tell application "Image Events"
launch --we have to launch Image Events before we can use it
set theImage to open TheFile
set theImageDimensions to dimensions of theImage
set theImageWidth to item 1 of theImageDimensions
set theImageHeight to item 2 of theImageDimensions
return {theImageWidth, theImageHeight}
end tell
on error
return {-1, -1} // just in case something goes wrong
end try
end GetImageDimensions
... и команда обрезать изображение так же просто, как
crop pathToFile to dimensions {cropWidth, cropHeight}
Если случайно у вас есть Photoshop, то обрезка обрабатывается по-другому:
crop pathToFile bounds {cropLeft, cropTop, cropRight, cropBottom}
В команде есть что-то еще, но это обязательные параметры. Другие приложения, скорее всего, будут иметь другую реализацию (возможно, больше похожую на Apple). Просто выберите нужное приложение для редактирования изображений и просмотрите Словарь, чтобы увидеть, как он работает.