Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 回形针:如果图像足够大,如何调整图像大小?_Ruby On Rails_Ruby On Rails 3_Imagemagick_Paperclip - Fatal编程技术网

Ruby on rails 回形针:如果图像足够大,如何调整图像大小?

Ruby on rails 回形针:如果图像足够大,如何调整图像大小?,ruby-on-rails,ruby-on-rails-3,imagemagick,paperclip,Ruby On Rails,Ruby On Rails 3,Imagemagick,Paperclip,我使用回形针调整图片大小,如下所示: class Asset < ActiveRecord::Base has_attached_file :asset, :styles => { :thumb => "80x80#", :medium => "1280x800>" }, ... class资产{:thumb=>“80x80#”, :medium=>“1280x800>”}。。

我使用回形针调整图片大小,如下所示:

class Asset < ActiveRecord::Base
  has_attached_file :asset, :styles => { :thumb => "80x80#", 
                                         :medium => "1280x800>" }, ...
class资产{:thumb=>“80x80#”,
:medium=>“1280x800>”}。。。
当原始图片的大小为32x32时:

  • 生成的
    medium
    图片大小相同(即
    32x32
    ),但文件有点不同,图片看起来有点变化。为什么呢

  • 生成的
    thumb
    大小为
    80x80
    (它看起来拉伸以适合此大小)。 当图片太小时,我如何避免调整其大小。假设原始图片的尺寸在
    宽度
    高度
    变量中

  • (1) 可能是因为曲别针正在解码JPEG,然后编写/编码新的JPEG。JPEG是一种有损格式,因此每次编码都会降低图像质量。您可以使用来调整,但您可能必须接受JPEG中的某些降级

    (2) 是因为回形针是按指示做的。回形针使用ImageMagick进行重载,样式尺寸仅限于:

    回形针还添加了“#”选项(例如“50x50#”),该选项将调整图像大小,使其最大程度地适合尺寸,然后裁剪其余部分(在中心加权)


    您的
    :thumb
    样式使用“#”,因此您告诉曲别针您想要一个80x80图像,即使图像必须缩放和裁剪才能到达。您可以从维度字符串中删除“#”,如果需要或合适,可以添加其中一个。

    谢谢您的回答!我确实想要“#”行为,我想知道是否有可能“破解”回形针,这样只有当图像尺寸超过指定尺寸时(我认为这是一个合理的要求),图像才会被调整大小。@Misha:你在找
    修改器吗?看见好吧,除非你想修补回形针本身,否则你只能使用ImageMagick修改器(加上
    ),我想要
    修改器,但我不想放大图像。我检查了你提供的链接中的所有修改器,没有一个符合我的需要。更具体地说,如果图像尺寸是宽度x高度,那么:(1)如果宽度@Misha:那么我认为你必须破解回形针。你成功破解了吗?我有一个
    medium
    样式的
    768x
    ,我希望这只适用于图像宽度大于7680px的情况。如果没有,请使用原始尺寸以避免拉伸和模糊。喂?你想到了什么?