2013-05-31 1 views
3

사용자가 업로드 한 이미지를 편집하기 위해 GraphicsMagick을 사용하고 있습니다. 각 이미지의 크기가 여러 크기로 조정됩니다. 첫째, 큰 크기에 이미지 크기를 조정하고 추가 작업시 빠른 액세스를위한 임시 MPC 형식을 GraphicsMagick에 저장 : 그럼 난 몇 가지 크기로 uniqueid.mpc 변환 aws-를 통해 S3로 보낼GraphicsMagick으로 이미지를 편집하고 콘솔 또는 PHP를 사용하여 S3에 직접 저장하십시오.

gm convert uploaded.jpg -resize "640x800>" +profile "*" -unsharp 0x0.75+0.75+0.008 uniqueid.mpc 

CLI :

gm convert uniqueid.mpc -quality 90 640x.jpg 
gm convert -size 400x400 uniqueid.mpc -resize "200x200^" -gravity Center -crop "200x200+0+0" -quality 90 -unsharp 1.5x1+0.7+0.02 200x.jpg 

내가 200x.jpg 등, 임시 파일 640x.jpg을 만드는 건너 뛰고 S3에 결과를 직접 저장할 수 있습니까? 커맨드 라인이 선호됩니다, PHP와 PHP 확장 GMagick을 대안으로 사용할 수 있습니다.

답변

1

대상 이미지 이름을 -으로 바꾸면 파일을 파이프로 출력하거나 파일을 변수로 캡처 할 수 있습니다.

gm convert uniqueid.mpc -quality 90 - | aws-storage-command 
jpg640=`gm convert uniqueid.mpc -quality 90 -` 

내가 어떻게 파이프 모든 명령은 직접 파일 파이프에 도움이되는 것은 아닙니다로 S3에 파일을 이동 명령이 다시 당신을 말해 정확한 AWS 명령을 알고 있어야합니다.

+0

답변 해 주셔서 감사합니다. 현재 저는 여기에서 aws를 사용하고 있습니다 : [link] (http://www.timkay.com/aws/). 지금 나는 시도했다 :'gm convert 1.jpg - | aws는 "Content-Type : image/jpg"BUCKET/1.jpg'을 넣었지만, 최종 이미지는 손상된 색상을가집니다. (신뢰할 수있는 것 같지 않습니다. 임시 파일을 사용할 때 이런 일은 발생하지 않았습니다. – MidnightCoder