1

我有一个 100 X 100 的图像,并希望将其置于 200 X 200 的空白图像的中心。

我将如何使用 ImageScience 和 Ruby 或其他第三方软件包来做到这一点?没有 ImageMagick 也没有 FreeImage?我知道这很受限制,但是这两个对我来说相当蹩脚,因为它们都不能在我的本地 Mac 和我的 EngineYard Amazon 实例上工作。我可以在我的 Mac 上将 FreeType 与 Ruby 一起使用,但它无法在 Amazon 云上部署。我无法在我的 Mac 上安装 RMagick,但它可以安装在我的亚马逊云上。

顺便说一句,我觉得 ImageMagick 应该自动安装在每台 Linux 和 Mac 机器上。会为一些人省去很多麻烦。这么少的价值,这么多的痛苦。

4

2 回答 2

8

最好的方法是使用纯 ruby​​ 库,例如来自 Seattle.rb的http://docs.seattlerb.org/png/或https://github.com/wvanbergen/chunky_png

这很容易理解。您应该创建一个白色的 200x200 画布并将图像加载到上面,或者如果您觉得更容易,使用 alpha 混合来合成图像。

(来自查奇的例子):

# Compose images using alpha blending.
avatar = ChunkyPNG::Image.from_file('avatar.png')
badge  = ChunkyPNG::Image.from_file('no_ie_badge.png')
avatar.compose!(badge, 10, 10)
avatar.save('composited.png', :fast_rgba) # Force the fast saving routine.

如果您真的不需要新图像并且仅用于显示图像,则使用 css 和/或 javascript 会容易得多。

于 2012-01-19T08:39:23.073 回答
0

也许可以回避这个问题,但是您是否尝试通过 Homebrew 在 Mac 上安装 ImageMagick?这就像安装 Homebrew 并输入一个命令一样简单:

brew install imagemagick

这应该完全没有任何问题。Homebrew 就像 Mac OS X 中应该默认包含的包管理器。我还使用它来安装默认不包含的其他包,例如 Git、Ack、Graphviz...

于 2012-01-19T07:43:11.740 回答