【问题标题】:Convert PSD and EPS to PNG or JPG using GraphicsMagick for node.js in AWS?在 AWS 中使用 GraphicsMagick for node.js 将 PSD 和 EPS 转换为 PNG 或 JPG?
【发布时间】:2015-09-23 13:56:09
【问题描述】:

我正在开发一个托管在 AWS 中的 DAM。用户能够将大量文件上传到系统。在后台,当上传图片时,AWS Lambda 函数会为每张图片创建一个缩略图。

显然 .psd 和 .eps 格式的文件无法在带有典型 HTML img 项的浏览器上显示。这就是为什么我需要将这些文件格式转换为 .png 或 .jpg。

也许另一种解决方案是直接在 .png 中“即时截屏”。我不知道这是否可能。

在 Lambda 函数上运行的 Node.js 代码与此处的代码非常相似:http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser-create-test-function-create-function.html

提前感谢您的帮助!!

【问题讨论】:

  • 什么应用程序生成.PDS文件?
  • 抱歉,打错了。我已经编辑了答案。感谢马克指出。
  • 您的实际问题是什么?你似乎有一个模板并且知道你想使用的工具——那么你的绊脚石是什么?
  • 嗨,马克。感谢您尝试帮助我。我的绊脚石是当上传的文件是 .psd 和 .eps 时,我不知道如何使用 .png 格式即时创建缩略图。这些文件可能是 200MB,我需要一个缩略图版本,可以在浏览器中用作预览。

标签: javascript node.js imagemagick graphicsmagick


【解决方案1】:

我对 AWS、Lambda 和 Node.js 了解不多,但可能对 ImageMagick 方面有所帮助...

要使用 ImageMagick 将图像从一种格式转换为另一种格式,您基本上可以在终端或命令行中使用带有适当文件扩展名的 convert 程序:

convert input.jpg output.png     # convert a JPEG to a PNG

EPS 文件

对于EPS,这是一种矢量格式,您通常应该先设置密度,否则 ImageMagick 将使用 72 dpi,这会导致质量很差,所以对于EPS,请尝试以下操作:

convert -density 144 input.eps output.png

PSD 文件

对于 Photoshop PSD 文件,通常会有一个预览图像和之后的所有多个图层,因此,如果您想获得一个预览,您应该使用这种风格的命令来解决图层 0 预览在PSD文件:

convert input.psd[0] output.png

如果你想缩小图片的大小,你可以在加载后调整它的大小:

convert input.png -resize 512x256 output.png

使其不超过 512 像素宽或 256 像素高。

您可能想做的另一件事是从图像中删除元数据(时间/日期、相机型号、创建应用程序、相机的 GPS 位置),为此,在输出文件名之前添加 -strip

不确定我还能提供什么帮助,但希望能帮助您入门。

【讨论】:

    猜你喜欢
    • 2011-11-16
    • 2012-09-13
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多