2011-09-24 77 views
0

我想使用Rmagick来结合两个图像。Rmagick调整大小和flatten_image错误

  1. 顶部的图像可以调整大小,并使用Jquery-UI进行拖动。我使用jQuery代码,如下调整大小后得到的图像大小:

    ui.size["height"] and ui.size["width"] 
    
  2. 我使用Ajax到Rails服务器发送该数据。

  3. 下一步我使用Rmagick resize_to_fit然后用flatten_image两幅图像如下组合调整图像大小:

    images=ImageList.new(img1, img2) 
    images[1]=images[1].resize_to_fit!(height, width) 
    images[1].page=Rectangle.new(height, width, x_coord+offset, y_coord-offset1) 
    com_img=images.flatten_images 
    com_img.write(tmpfile.path) 
    

我的问题是,调整大小的图像似乎没有正常工作。我总是得到比我想要的更小的图像(通过调整图像大小测试不同的高度和宽度)。图像的左上角正确放置(意味着页面命令正常工作)。我检查了我的JQuery UI代码和ajax,并发送了正确的大小信息。不知何故,Rmagick resize或flatten_image没有正确处理信息。

有人可以提供指针什么可能是错误的?

谢谢!

PS:抵消帐户的第一个图像的位置相对页面左上角。

回答

0

我发现问题的解决方案Rmagick在调整大小时需要图像,以适应正方形。所以当两个尺寸相同时,resize_to_fit函数可以正常工作,并且是高度或宽度中较大的一个。

所以我改变了代码做到以下几点

 if height > width 
     images[1]=images[1].resize_to_fit!(height, height) 
     else 
     images[1]=images[1].resize_to_fit!(width, width) 
     end