2012-01-09 6 views
3

私はimagemagick/rmagickライブラリから画像を作成する必要があります。どうすればいいですか? phpのようにGDライブラリで以下のようにしました。入力でイメージをレールに作成するには? (from imagecreate()from php)

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

、私は画像の色、that..anyアイデアのようなエリアタグの画像座標を与えていますか?

答えて

6

あなたはImagMagickは、その後、あなたのシステムとRMagick宝石にインストール必要があります。

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

ことを確認し、あなたはImageMagickのPNGをサポートしてコンパイルしています。

あなたは次のことを行うことができ、あなたの画像を送信するには:あなたはそれをキャッシュする場合を除き、

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

は、その後、画像を保存する必要はありません。あなたがここに見つけることができます

使用方法についての詳細情報:http://www.imagemagick.org/RMagick/doc/image1.html

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 
+0

こんにちは、私は、与えられた座標と同様の折れ線グラフを持つ画像を持つ必要があります..答えてくれてありがとう。 –

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 %>" /> 

これはきれいではありませんが、今のところうまくいきます。