- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想根据图像是横向还是纵向以不同方式处理图像。
这是我的图片 uploader 模型中的代码:
def is_landscape?
if @file
image = ::MiniMagick::Image.open(file)
Rails.logger.info "from in is_landscape? : #{image[:width] > image[:height]}"
image[:width] >= image[:height]
end
end
def is_portrait?
Rails.logger.info "from in is_portrait? : #{image[:height] > image[:width]}"
image[:height] > image[:width]
end
process :resize_to_fill => [667, 500], if: :is_landscape?
process :resize_to_fill => [500, 667], if: :is_portrait?
version :preview do
process :resize_to_fill => [380,285]
end
version :thumb do
process :resize_to_fill => [105,79], if: :is_landscape?
process :resize_to_fill => [105, 158], if: :is_portrait?
end
我遇到了错误
"ArgumentError (wrong number of arguments (1 for 0)): app/uploaders/image_path_uploader.rb:31:in `is_landscape?'"
我做错了什么?
最佳答案
我必须将新文件传递给 is_landscape?和 is_portrait?让它工作的方法:
def is_landscape?(new_file)
image = ::MiniMagick::Image::read(File.binread(@file.file))
Rails.logger.info "from in is_landscape? : #{image[:width] > image[:height]}"
image[:width] >= image[:height]
end
def is_portrait?(new_file)
Rails.logger.info "from in is_portrait? : #{ !is_landscape?(new_file)}"
!is_landscape?(new_file)
end
process :resize_to_fill => [667, 500], if: :is_landscape?
process :resize_to_fill => [500, 667], if: :is_portrait?
version :preview do
process :resize_to_fill => [380,285]
end
version :thumb do
process :resize_to_fill => [105,79], if: :is_landscape?
process :resize_to_fill => [105, 158], if: :is_portrait?
end
关于ruby-on-rails - 使用 MiniMagick 根据方向调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452714/
一直在研究但未能查明问题:我正在关注 Railscasts PRO #182 使用 JCrop、Carrierwave 和 Minimagick 裁剪图像。当我开始重新创建图像版本时,提示错误: Ca
我已经使用 resize_to_fill 缩小到 [1,1] 大小,从而将图像减少到一个像素,包含基本上整个图像的平均颜色(当然,前提是图像的高度和宽度之间没有巨大的差异) . 现在我试图以十六进制格
给定: 纹理 和一张照片(无透明背景) 如何给照片赋予纹理? 具体来说,我需要以下步骤: 平铺纹理。来自 here ,我有:convert -size 1056x576 tile:Castillo_0
我按照 github 官方页面的说明安装 Redactor-rails ruby gem SammyLin/redactor-rails ,一切都好,但是当我尝试上传图像时,出现如下错误: 于 2
我们正在尝试通过我们的应用构建自定义社交分享图像。后端使用 Ruby/Sinatra 构建,我们已经使用 MiniMagick+AWS-SDK 上传用户图片。 我们想要做的是获取用户图像并在用户图像之
我正在尝试使用 MiniMagick 调整图像大小,并且在我的 Controller 文件中执行了以下操作: require 'rubygems' require 'mini_magick' 和 im
我使用 mini_magick 作为使用 ImageMagick 来操作一些图像的接口(interface)。 调整大小工作正常 .但是当我想裁剪一些图像时: img = MiniMagick::Im
假设我有这样一张图片:http://shop2.vans.com/wcsstore/Vans/images/products/NKA8MOD1B.JPG 我该怎么做才能裁剪图像,以便摆脱背景。所以,在
我正在尝试通过以下方式使用 Minimagick 创建图像: collage = MiniMagick::Image.create "jpg", false do |c| c.size "10
有没有办法操纵像素并创建或修改操纵图像以反射(reflect)对像素所做的更改? Minimagick 只提供了一个get_pixels 方法。 我应该将数组转换为字符串并使用 import_pixe
我遇到了 MiniMagick 的问题 这是我想要的描述。 我正在使用以下 gem 来创建 QR 码。 gem 'rqrcode-rails3' 因为那个 gem 以 SVG 格式响应我的 QR
我运行的是 windows xp,并且安装了 MiniMagick 和 ImageMagick(最新版本)。我现在正在使用控制台测试一切是否正常。使用 ms 命令提示符 image magick 没有
我正在尝试在图像上写一个字符串。目前我正在使用 MiniMagick,我可以调整大小和重叠两个图像,但是当我尝试使用标题编写多行字符串时,最终图像没有任何变化,它仍然和以前一样。 这是我当前的代码:
我想根据图像是横向还是纵向以不同方式处理图像。 这是我的图片 uploader 模型中的代码: def is_landscape? if @file image = ::MiniM
我一直在到处寻找,没有结果。 所以我使用 Active Storage 来处理我的模型图像。 我的产品型号如下: class Product < ApplicationRecord has_one
有人知道如何使用 Carrierwave + MiniMagick 将动画 GIF 压缩到第一帧吗? 最佳答案 我认为 MiniMagick 有一些变化,因为我只花了三个小时试图找出为什么 Andre
使用以下设置在 Ubuntu 16.04 上运行: Ruby 2.2.4、Nginx + 乘客、ImageMagick 7.x 问题:我正在使用 Shrine 和 Minimagick。一切都在开发中
我想要做的是通过 IMGKit 保存带有全尺寸快照的网站 url。在其中一个 View 中,我还想拥有快照的缩略图版本。我正在使用carrierwave以便将快照与MiniMagick的对象相关联来操
我的要求是如果正在上传 pdf 文件,则将 pdf 转换为图像。到目前为止,这就是我所做的。 class ImageUploader [800, 600] end version :thum
我有 Image 模型和 Movie 模型,Movie 可以有很多 images。我正在存储图像的 3 个版本,大、中和小。在我的应用程序中,用户可以选择特定尺寸的图像,比如 4 张“中等”尺寸的图像
我是一名优秀的程序员,十分优秀!