两周内有 127 次观看没有评论或回答,所以我努力寻找答案。此外,由于这个 gem 上的内容太少了,我想我应该将我的整个过程和代码添加为示例。
开发安装:MAC OSX
- '宝石安装 imgkit'
- '捆绑安装'
- 安装 wkhtmltoimage 有点棘手,因为我使用的是 rvm。'rvmsudo' 安装方法对我不起作用。我在这里下载了 Mac OSX 的 wkhtmltoimage-OSX-0.10.0_rc2-static.tar.bz2 ,解压缩并将 wkhtmltoimage 文件复制到 usr/local/bin。我们的服务器使用 Ubuntu……希望一切顺利……我会告诉你的。
- 我使用命令 wkhtmltoimage http://www.google.com test.jpg 测试了 wkhtmltoimage ,一切正常。
- 根据 IMGKit 文档,我添加了 png 和 jpeg 的 mime 类型。
生产安装:Ubuntu 10.04 LTS
- '宝石安装 imgkit'
- '捆绑安装'
- 'sudo imgkit --install-wkhtmltoimage' 没有飞。wkhtmltoimage 有 AMD64 和 i386 版本。我曾经
cat /proc/cpuinfo
发现我的服务器 CPU 是 Intel 所以手动将 i386 版本安装到 /usr/local/bin。我更改了 wkhtmltoimage-i386 文件的权限以允许执行。此外,为了让 IMGKit 识别文件,我必须重命名文件,去掉“-i386”。
调用 IMGKit 函数的控制器。
def email_profile
...
filename = current_user.username + "_" + cur_date + '.jpg'
kit = IMGKit.new("https://www.myapp.com/applet/?auth_token=" + token)
img = kit.to_img(:jpg)
file = kit.to_file(Rails.root + "public/profile_images/" + filename)
...
end
“小程序”控制器
此视图永远不会在浏览器中呈现。专供 IMGKit/wkhtmltoimage 阅读。请注意,呈现了不同的 rails 布局文件:
class AppletController < ApplicationController
def index
render(:layout => "layouts/applet_lo")
end
end
布局文件
布局文件具有新的元标记,它们调用 wkhtmltoimage 选项以通过 IMGKit gem 裁剪图像。它仍然不起作用。gem 的作者回信说这个功能很挑剔。我正在使用 minimagick 进行裁剪,直到解决此问题。
<!DOCTYPE html>
<html>
<head>
<meta name="imgkit-crop-h" content="990">
<meta name="imgkit-crop-w" content="635">
</head>
<body>
<%= yield %>
</body>
</html>