标签: rmagick

如何在 Windows 10 上安装 rmagick

我正在尝试安装一个 gem,它依赖于 windows 10 的 rmagick。但是每次我尝试安装它时,都会出现此错误:

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

C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20160126-6648-ks1v6.rb extconf.rb --  with-opt-dir=C:/ImageMagick
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=C:/Ruby22-x64/bin/$(RUBY_BASE_NAME)
extconf.rb:110:in ``': No such file or directory - identify -version    (Errno::ENOENT)
    from extconf.rb:110:in …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails rmagick

3
推荐指数
1
解决办法
3887
查看次数

ActiveStorage不会裁剪变种

我正在将我的rails应用程序从paperclip迁移到ActiveStorage,它只是不接受crop变体中的参数

这一行:

@user.image.variant(crop: [180,135])
Run Code Online (Sandbox Code Playgroud)

导致此错误:

Errno::ENOENT (No such file or directory @ rb_sysopen - /var/folders/dd/dy3xgqrs2vv6h97ckrtmrb4m0000gn/T/mini_magick20180526-14598-njz21n.jpg):

activestorage (5.2.0) app/models/active_storage/variant.rb:130:in `initialize'
activestorage (5.2.0) app/models/active_storage/variant.rb:130:in `open'
activestorage (5.2.0) app/models/active_storage/variant.rb:130:in `upload'
activestorage (5.2.0) app/models/active_storage/variant.rb:88:in `block in process'
activestorage (5.2.0) app/models/active_storage/variant.rb:110:in `open_image'
activestorage (5.2.0) app/models/active_storage/variant.rb:85:in `process'
activestorage (5.2.0) app/models/active_storage/variant.rb:53:in `processed'
activestorage (5.2.0) app/controllers/active_storage/representations_controller.rb:12:in `show'
Run Code Online (Sandbox Code Playgroud)

而例如.这工作:

@user.image.variant(resize: '180x135')
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rmagick minimagick rails-activestorage

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

R magick:方形裁剪和圆形蒙版

目的是

  1. 将任何输入图像转换为正方形长宽比并且
  2. 添加圆形蒙版并用白色或透明填充外部。

我有 1 个工作要做,但不确定这是最好的方法。这是一个工作示例。

library(magick)
path <- "https://cdn.pixabay.com/photo/2016/08/17/21/12/people-1601516_960_720.jpg"
img <- magick::image_read(path)
img
Run Code Online (Sandbox Code Playgroud)

原始图像

在此输入图像描述

ii <- magick::image_info(img)
ii_min <- min(ii$width,ii$height)
img1 <- magick::image_crop(img, geometry=paste0(ii_min,"x",ii_min,"+0+0"),repage=TRUE)
img1
Run Code Online (Sandbox Code Playgroud)

裁剪方形纵横比

在此输入图像描述

我不确定如何让最后一部分(2)在 R 中工作。尽管我已经设法在 unix 中使用 image-magick 让它工作。

convert -size 500x500 xc:white -fill cropped.jpeg -draw "circle 250,250 250,1" circ.jpg
Run Code Online (Sandbox Code Playgroud)

圆形框架

在此输入图像描述

我正在寻找R中2的解决方案。

r rmagick imagemagick image-processing

3
推荐指数
1
解决办法
2059
查看次数

ruby Rmagick文字宽度

我在一个红宝石项目中使用Rmagick生成一个标题,所有工作正常如下,但我需要在标题后面放一个图像,我想知道是否有任何方法找出我刚刚绘制的文本的宽度?谢谢

    canvas = Magick::Image.new(600, 18){ self.background_color = '#212121' }
    gc = Magick::Draw.new
    gc.fill('white')
    gc.font = ("lib/fonts/AvenirLTStd-Book.otf")
    gc.pointsize = 18.0
    @title = "hello world"
    gc.text(0, 14, @title)
    gc.draw(canvas)
    canvas.format = 'png'
    canvas.to_blob 
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rmagick imagemagick

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

RMagick:缩放和调整缩略图的大小

我想调整图像大小/缩放图像.原件尺寸与300x200或512x600不同.我想将图像调整为100x100,但不要从图像或变化率中裁剪任何东西.理想情况下,图像首先将长边缩放到100(纵横比),然后用白色填充较小的边缘.

 .---------.
 |- - - - -|
 |  IMAGE  |
 |- - - - -|
 '---------'
Run Code Online (Sandbox Code Playgroud)

我不使用Paperclip或Rails,只使用RMagick.

image rmagick

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

缩小图像直到一侧达到目标尺寸

你如何缩小图像直到一方用Carrierwave和rmagick达到它的目标维度?

例:

目标尺寸:600x400

正在上传的图片:700x450

我希望缩小此图像,直到高度达到400像素,保持原始高宽比.

这将导致具有以下尺寸的图像:622x400

ruby rmagick ruby-on-rails-3 carrierwave

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

Rmagick each_pixel,它是如何工作的?

我需要在rmagick中操纵图像的每个像素.我在IRB(互动红宝石)中这样做这就是我所拥有的:

require 'Rmagick'
include Magick
f = Image.new(100,100)
f.display #so far so good. A 100x100 white image is displayed

f.each_pixel {|pixel, c, r| pixel.red = 0}
f.display #the image is still white. It should really be a shade of blue.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ruby rmagick pixel

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

在轨道上的红宝石中使用minimagick仅缩放图像宽度3

我正在使用此方法调整图像大小:

version :big do
            process :resize_to_fit => [560, 200]
            process :convert => :png
          end
Run Code Online (Sandbox Code Playgroud)

但是用这种方法我写了一个固定的高度.

我只想缩放或调整宽度图像的大小.

我希望图像的高度是自动的,并将图像缩放到已给出的宽度.

如何缩放或调整大小,仅宽度图像?

我正在使用带有载波的minimagick.

ruby-on-rails rmagick ruby-on-rails-3 minimagick

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

rmagick压缩并将png转换为jpg

我想压缩一个png并将其保存为jpg:

i = Image.read("http://ds4jk3cl4iz0o.cloudfront.net/e2558b0d34221d3270189320173dabc2.png").first
Run Code Online (Sandbox Code Playgroud)

它的大小是799 kb:

http://ds4jk3cl4iz0o.cloudfront.net/e2558b0d34221d3270189320173dabc2.png=>e2558b0d34221d3270189320173dabc2.png PNG 640x639 640x639+0+0 DirectClass 8-bit 799kb 
Run Code Online (Sandbox Code Playgroud)

我将格式设置为jpeg,质量设置为10(即质量非常差,因此文件大小应该大大减少):

i.format = 'JPEG'

i.write("itest10.png") { self.quality = 10 }
Run Code Online (Sandbox Code Playgroud)

大小实际上增加到800kb!

 => http://ds4jk3cl4iz0o.cloudfront.net/e2558b0d34221d3270189320173dabc2.png=>itest40.png PNG 640x639 640x639+0+0 DirectClass 8-bit 800kb 
Run Code Online (Sandbox Code Playgroud)

1)为什么?

2)如何压缩照片,使尺寸<150kb?

谢谢!

ruby rmagick imagemagick

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

linux CLI:如何将阿拉伯文本呈现为位图

我想用命令行界面将阿拉伯文本绘制到位图(bmp或png)中.

我尝试过imagemagick和RMagick,但是我遇到了RTL语言问题.我所有的渲染都是从左到右.谷歌没有帮助.

要求:

./render "???? ????????" out.png
Run Code Online (Sandbox Code Playgroud)

会给出一个位图:

لوحةالمفاتيح

谁能给我一些成功的结果?

ruby linux rmagick imagemagick arabic

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