如何在rails中创建图像? (来自php中的imagecreate())

时间:2012-01-09 11:12:25

标签: php ruby-on-rails rmagick

我需要从imagemagick / rmagick库创建一个图像,我该怎么做? 就像在php中一样,它与GD库一样完成。

 <?php 
      header ("Content-type: image/png"); 
      $handle = ImageCreate (130, 50) or die ("Cannot Create image"); 
      $bg_color = ImageColorAllocate ($handle, 255, 0, 0); 
      ImagePng ($handle); 
  ?> 

在输入中,我给出了图像颜色,区域标记的图像坐标,这样的想法?

3 个答案:

答案 0 :(得分:6)

您需要在系统和ImageMagick gem中安装rmagick,然后:

image = Magick::Image.new(130, 50)
image.background_color = 'red'
image.write('someimage.png')

确保您使用PNG支持编译ImageMagick。

要发送您的图片,您可以做下一件事:

send_data image, :type => 'image/png', :disposition => 'inline'

然后您不需要保存图像,除非您想要缓存它。

More information about usage you can find here

答案 1 :(得分:2)

http://www.imagemagick.org/RMagick/doc/usage.html#reading

require 'RMagick'
include Magick
# Create a 100x100 red image.
f = Image.new(100,100) { self.background_color = "red" }
f.display
exit

答案 2 :(得分:2)

以下是我用于动态创建内嵌图像的内容:

@placeholder = Magick::Image.new(@book.width, @book.height)
@placeholder.format = "png"
@placeholder = "data:image/png;base64,#{Base64.encode64 (@placeholder.to_blob)}"

<img src="<%= @placeholder %>" />

它不漂亮,但它现在有效。