私はこれを行う方法を見つけるために今約1時間を探しています。
Automatorで、画像を最長サイズではなく、指定された幅と高さにサイズ変更する方法はありますか?出力画像は、不均衡であっても、特定のピクセル幅と高さである必要があります。
私はフォトショップを持っていますが、Automatorにこれを行わせる方法はありますか?
ありがとう
標準のAutomatorステップで必要なことを行う方法はありません。
とにかく、このPythonスクリプトを使用できます。
import sys
import CoreGraphics
RESIZE_WIDTH = 100
RESIZE_HEIGHT = 100
def resizeimage(source_image_file, target_image_file, target_width, target_height):
source_image = CoreGraphics.CGImageImport(CoreGraphics.CGDataProviderCreateWithFilename(source_image_file))
source_width = source_image.getWidth()
source_height = source_image.getHeight()
source_image_rect = CoreGraphics.CGRectMake(0, 0, source_width, source_height)
new_image = source_image.createWithImageInRect(source_image_rect)
colors_space = CoreGraphics.CGColorSpaceCreateDeviceRGB()
colors = CoreGraphics.CGFloatArray(5)
context = CoreGraphics.CGBitmapContextCreateWithColor(target_width, target_height, colors_space, colors)
context.setInterpolationQuality(CoreGraphics.kCGInterpolationHigh)
new_image_rect = CoreGraphics.CGRectMake(0, 0, target_width, target_height)
context.drawImage(new_image_rect, new_image)
context.writeToFile(target_image_file, CoreGraphics.kCGImageFormatJPEG)
def main(argv):
for image_file_name in argv:
resizeimage(image_file_name, image_file_name, RESIZE_WIDTH, RESIZE_HEIGHT)
if __name__ == "__main__":
main(sys.argv[1:])
必要な値に設定RESIZE_WIDTH
します。RESIZE_HEIGHT
Run Shell Script
ステップとして追加します。
とに設定Shell
します。/use/bin/python
Pass input
as arguments
編集:を使用してこれを達成するためのかなり簡単な方法があります(epatelsips
によって提案されています) 。
Run Shell Script
次のコマンドでステップを作成できます。
sips --resampleHeightWidth 100 100 "$@"
注:二重引用符は$ @を囲む必要があります。そうしないと、エラーが発生します。
確かに、[画像を切り抜く]アクションを使用し、必要に応じて[切り抜き前に拡大縮小]、[幅]、[高さ]オプションを設定します。「パッド画像」アクションも役立つ場合があります。