标签: rmagick

使用mini_magick或image_science进行图像直方图?

是否可以使用mini_magick或image_science 获取图像的直方图

我担心mini_magicks使用mogrify不允许这样的信息检索.image_science几乎没有记录,似乎仅限于缩略图缩放和裁剪.

要采取的一种方法是迭代每个像素并在Ruby中提取其值.但这需要有关像素的信息,这也是我在mini_magick中无法达到的.

我可以回退到RMagick或im_magick,但这些要么不那么流行/未知,要么据说性能不好.

为了记录:这是关于找到部分图像的早期问题的一部分.

ruby rmagick image-processing minimagick

2
推荐指数
2
解决办法
2034
查看次数

RMagick RVM安装失败

当我在rvm中安装rmagick时,我不断收到此错误.

checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.
Run Code Online (Sandbox Code Playgroud)

这是我目前的设置:

Snow Leopard 10.6.7
XCode 3.2.6
RVM 1.6.1
Ruby Over RVM (ree1.8.7)
Homebrew 0.8
ImageMagick 6.6.9-4 c/o Homebrew
Run Code Online (Sandbox Code Playgroud)

在使用Homebrew安装imagemagick之后,我能够使用系统ruby安装rmagick

rvm system
sudo gem install rmagick
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

macos homebrew rmagick imagemagick rvm

2
推荐指数
1
解决办法
2831
查看次数

在CentOS中安装ImagMagick和rmagick gem

我知道这已被问过好几次了,但问题是他们带来了rmagick的新版本,现在老版本的方法不适用.

Server - CentOS release 5.6 (Final)
Ruby - ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-linux]
Rails - 2.3.5
Run Code Online (Sandbox Code Playgroud)

我尝试通过这些步骤安装rmagick gem.我执行这些查询时是root用户:

yum install ImageMagick.i386
yum install ImageMagick-c++-devel.i386
gem install rmagick
Run Code Online (Sandbox Code Playgroud)

前2个命令顺利执行,没有任何错误.在gem install rmagick,我收到此错误:

ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... yes

Warning: Found a partial ImageMagick installation. Your operating system likely has some built-in ImageMagick libraries but not all …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rmagick imagemagick

2
推荐指数
1
解决办法
8667
查看次数

'require 'rmagick' 和 'require RMagick' 之间的区别(Mac 与 Debian)

我正在使用 Mac pro Lion 进行 ImageMagick Q16、RVM 和 ruby​​ 1.8.7 的开发

我可以在 IRB 中使用以下内容:

注意“rmagick”这个词中的不同大写

require 'rubygems'
=> true 
require 'rmagick'
=> true 
require 'RMagick'
LoadError: no such file to load -- RMmagick
Run Code Online (Sandbox Code Playgroud)

在我的带有 ImageMagick Q16、RVM 和 ruby​​ 1.8.7 的 Debian Squeeze 6.0 生产服务器上

我可以在 IRB 中使用以下内容:

require 'rubygems'
=> true 
require 'rmagick'
LoadError: no such file to load -- rmagick 
require 'RMagick'
=> true
Run Code Online (Sandbox Code Playgroud)

'gem list' 以小写形式显示在两个操作系统上。

rmagick (2.13.1)
Run Code Online (Sandbox Code Playgroud)

我想知道这个问题的根源是什么?

如果宝石的大小写(如宝石列表中所示)与 require 'some_gem'

ruby macos ubuntu debian rmagick

2
推荐指数
1
解决办法
3095
查看次数

如何将任意用户定义的值传递到CarrierWave图像处理器?

所以我正在使用rails 3.2 app,我有一个CarrierWave上传器; 我用来上传图像,并将它们分成几种不同的尺寸 - 非常标准的东西.

我想要做的是在上传的图像上复合一个新图像,这也非常简单.(通常用于水印).不同之处在于,我不需要使用静态值来定位合成图像,而是需要它们是动态的.

我遇到的问题是弄清楚如何将动态用户定义的位置参数传递到'version'块中的载波处理器中.

有任何想法吗?

ruby ruby-on-rails rmagick carrierwave ruby-on-rails-3.2

2
推荐指数
1
解决办法
2517
查看次数

如何使用RMagick和Word换行在图像上渲染文本?

我需要在图像上(1024x768)渲染一些文本(unicode,helvetica,白色,22px,粗体).

到目前为止这是我的代码:

img = Magick::ImageList.new("my_bg_img.jpg")
txt = Magick::Draw.new

img.annotate(txt, 800, 600, 0, 0, "my super long text that needs to be auto line breaked and cropped") {
      txt.gravity = Magick::NorthGravity
      txt.pointsize = 22
      txt.fill = "#ffffff"
      txt.font_family = 'helvetica'
      txt.font_weight = Magick::BoldWeight
}

img.format = "jpeg"

return img.to_blob
Run Code Online (Sandbox Code Playgroud)

它很好,但它不会自动打破线条(自动换行)以使所有文本适合我定义的区域(800x600).

我究竟做错了什么?

谢谢你的帮助:)

ruby rmagick

2
推荐指数
1
解决办法
2279
查看次数

无法使用 RMagick 打开上传的图像文件

在我的 Rails 应用程序中,我有一个允许用户上传图像的表单。我的应用程序应该使用以下控制器方法调整图像大小。(POST 到此方法,params[:file]包含ActionDispatch::Http::UploadedFile已上传的内容:

 def resize_and_store
    file = params[:file]

    # resize image
    Magick::Image.read(file.tempfile).first
    newimg = image.resize(100,100)

    #etc... Store newimg
  end
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,行上写着Image.read

Magick::ImageMagickError (no decode delegate for this image format `0xb9f6052c>' @ error/constitute.c/ReadImage/544):
Run Code Online (Sandbox Code Playgroud)

使用上传的 PNG 文件对此进行测试,似乎 RMagick 没有识别出临时文件是 PNG 文件。如果我读取本地存储的 PNG 文件,上面的代码确实可以工作,所以不可能是我缺少 PNG 解码器。我该如何解决这个问题以及为什么会发生这种情况?

ruby-on-rails rmagick imagemagick ruby-on-rails-4

2
推荐指数
1
解决办法
3304
查看次数

使用carrierwave和rmagick上传和调整图像大小时,堆栈级别太深

当我在ImageUploader类中评论此行" process:resize_to_fit => [200,300] "时,代码工作正常,但我想在上传时调整图像大小.

请帮忙.

日志:

Started PATCH "/products/980190968" for 127.0.0.1 at 2014-06-03 11:35:08 +0530
Processing by ProductsController#update as HTML
  Parameters: {"utf8"=>"?", "authenticity_token"=>"D//KM/EExMDwT7WTMSQpsWnEDgAmpzGz7I7HembUC3s=", "product"=>{"title"=>"With No Image", "description"=>"asdasdasdasdasdasdasdsadasdasdasda", "image_url"=>#<ActionDispatch::Http::UploadedFile:0x2e936b0 @tempfile=#<Tempfile:C:/Users/ahmad/AppData/Local/Temp/RackMultipart20140603-1836-1098spu>, @original_filename="cs.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"product[image_url]\"; filename=\"cs.jpg\"\r\nContent-Type: image/jpeg\r\n">, "price"=>"39.90"}, "commit"=>"Update Product", "id"=>"980190968"}
  User Load (0.0ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = 4 LIMIT 1
  Product Load (1.0ms)  SELECT  "products".* FROM "products"  WHERE "products"."id" = $1 LIMIT 1  [["id", 980190968]]
  Cart Load (1.0ms)  SELECT  "carts".* FROM "carts"  WHERE "carts"."id" = $1 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rmagick carrierwave

2
推荐指数
1
解决办法
1041
查看次数

无法安装 RMagick 2.13.2

尝试安装 rmagick gem 时,我在 OS X Maverick 上遇到了问题。以下是一些细节

ImageMagic 细节

mairs-MacBook-Pro:social-login-in-rails umair$ convert --version
Version: ImageMagick 6.8.9-1 Q16 x86_64 2014-07-06 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates: bzlib freetype jng jpeg ltdl lzma png xml zlib
Run Code Online (Sandbox Code Playgroud)

我尝试使用和不使用路径进行安装,但无法安装 rmagick。安装 rmagick 时出错

Umairs-MacBook-Pro:social-login-in-rails umair$ sudo C_INCLUDE_PATH=/opt/ImageMagick/include/ImageMagick-6/ PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick
Building native extensions.  This could take a while...
/Users/umair/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/ext/builder.rb:73: warning: Insecure world writable dir /usr in PATH, mode 040777
ERROR:  Error installing rmagick:
ERROR: Failed to build …
Run Code Online (Sandbox Code Playgroud)

ruby macos rmagick imagemagick

2
推荐指数
1
解决办法
2062
查看次数

Rmagick 损坏:库未加载:/usr/local/lib/libMagickCore-6.Q16.1.dylib

Rmagick 抱怨在尝试运行任何迁移时它坏了。在 OSX Sierra 上。

/Users/xyz/.rvm/gems/ruby-2.4.0@nucloud/gems/rmagick-2.16.0/lib/rmagick_internal.rb:12:in `require': dlopen(/Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libMagickCore-6.Q16.2.dylib
  Referenced from: /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/RMagick2.bundle
  Reason: image not found - /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/RMagick2.bundle (LoadError)
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/rmagick_internal.rb:12:in `<top (required)>'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/rmagick.rb:1:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/rmagick-2.16.0/lib/rmagick.rb:1:in `<top (required)>'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:82:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:82:in `block (2 levels) in require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:77:in `each'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:77:in `block in require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:66:in `each'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler/runtime.rb:66:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/bundler-1.15.1/lib/bundler.rb:108:in `require'
    from /Users/xyz/code/nc_rails5/config/application.rb:7:in `<top (required)>'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:82:in `require'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:82:in `preload'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:143:in `serve'
    from /Users/xyz/.rvm/gems/ruby-2.4.0@nc/gems/spring-1.7.2/lib/spring/application.rb:131:in `block in run'
    from …
Run Code Online (Sandbox Code Playgroud)

macos ruby-on-rails rmagick bundler ruby-on-rails-5

2
推荐指数
1
解决办法
588
查看次数