用回形针上传后图像重量更高

时间:2018-09-26 15:30:41

标签: ruby-on-rails ruby paperclip

回形针有问题。当我上传507ko的.png图像时,结果是图像为... 2.1Mb,几乎是原来的4倍。

我只有纵向格式的PNG遇到此问题。 JPG也变得有点重,但只有几个字节。

此外,问题仅以我的“额外”格式出现。

这是我的代码:

#!/usr/bin/python3
import re 
fasta_file = open("fasta_file",'r')
chk = fasta_file.read()
k2=re.split(r'ERR\d+\.\d+;barcodelabel=R{0,9}.*;', chk, flags=re.MULTILINE)
line = [i.replace('\n','') for i in k2]
del line[0]
for i,name in enumerate(line):
    f = open("file"+str(i+1)+".txt","w")
    f.write(name+"\n")
    f.close() 

还有图像,如果您想尝试:https://www.groupe-pratique.com/wp-content/uploads/2018/04/Les-chiffres-du-marketing-automation-infographie-1.png

您遇到过这个问题吗?

编辑:

实际上,问题不仅出现在额外的尺寸上,而且在其他尺寸上,差异也很小,无法看到。问题是...大尺寸时有问题。

EDIT2:

我通过将PNG文件转换为JPG解决了该问题。就我而言,这不是问题,但是如果您确实需要PNG文件,则找不到解决方案。 :/

1 个答案:

答案 0 :(得分:1)

您可以尝试在模型回形针选项(例如示例belove)上设置convert_options吗?喜欢-quality 80吗?还是很多情人。请尝试使用此选项进行操作,然后上传测试文件的大小。

has_attached_file :avatar, 
                  :styles          => { :thumb => '50x50#' },
                  :convert_options => { :thumb => '-quality 80' }

由于回形针在背景ImageMagick中使用,并且在上载过程中具有一些用于处理图像的默认设置: “默认情况下,如果可以确定输入图像的质量,则默认使用估计的质量,否则为92。当质量大于90时,色度通道不会被下采样。请使用-sampling-factor选项指定用于色度下采样。”

我建议您尝试使用convert_options并检查结果。