使用 minimagick 将 JPEG 转为 TIFF
JPEG to TIFF using minimagick
我想根据一些标准将我的 jpeg 图像转换为 tiff 图像,满足所有因素但我不知道如何减小尺寸,目前,图像在转换后变为 1.2MB,我想将其减小到小于或等于 100kb,分辨率为 200 dpi。
原始 jpeg 图片大小为 250kb,大小为 456 X 679。
怎么做?
require 'mini_magick'
class FileConversionService
def self.to_tiff
input_path = "/images/1.jpg"
image = MiniMagick::Image.open(input_path)
k = image.format("tiff")
k.write("/images/1_tiff")
tiff_path = "/images/1_tiff"
image_data = MiniMagick::Tool::Convert.new do |img|
img << tiff_path
img << '-resize' << "1600x734"
img << '-colorspace' << "scRGB"
img << '-density' << "700"
img << '-background' << "white"
img << '-verbose'
img << tiff_path
end
end
end
FileConversionService.to_tiff
您可以添加 -compress
选项和 ZIP
或 LZW
选项来为 TIFF 启用压缩。但对于大多数图像,TIFF 会比 JPEG 大。此外,您还指定了 resize
选项,可将图像放大至 979x734,使其成为更大的图像。
作为补充说明,您当前的代码转换了两次,一次通过
input_path = "/images/1.jpg"
image = MiniMagick::Image.open(input_path)
k = image.format("tiff")
k.write("/images/1_tiff")
tiff_path = "/images/1_tiff"
打开 jpg 并写入 tiff,第二次执行
image_data = MiniMagick::Tool::Convert.new do |img|
img << tiff_path
img << '-resize' << "1600x734"
img << '-colorspace' << "scRGB"
img << '-density' << "700"
img << '-background' << "white"
img << '-verbose'
img << tiff_path
end
重新打开 tiff 文件,将其调整为定义的参数,然后再次输出到 tiff_path
。这可以仅使用 convert:
一次性完成
input_path = "/images/1.jpg"
tiff_path = "/images/1.tiff"
MiniMagick::Tool::Convert.new do |img|
img << input_path
img << '-compress' << 'ZIP'
img << '-resize' << "1600x734"
img << '-colorspace' << "scRGB"
img << '-density' << "700"
img << '-background' << "white"
img << tiff_path
end
我想根据一些标准将我的 jpeg 图像转换为 tiff 图像,满足所有因素但我不知道如何减小尺寸,目前,图像在转换后变为 1.2MB,我想将其减小到小于或等于 100kb,分辨率为 200 dpi。 原始 jpeg 图片大小为 250kb,大小为 456 X 679。
怎么做?
require 'mini_magick'
class FileConversionService
def self.to_tiff
input_path = "/images/1.jpg"
image = MiniMagick::Image.open(input_path)
k = image.format("tiff")
k.write("/images/1_tiff")
tiff_path = "/images/1_tiff"
image_data = MiniMagick::Tool::Convert.new do |img|
img << tiff_path
img << '-resize' << "1600x734"
img << '-colorspace' << "scRGB"
img << '-density' << "700"
img << '-background' << "white"
img << '-verbose'
img << tiff_path
end
end
end
FileConversionService.to_tiff
您可以添加 -compress
选项和 ZIP
或 LZW
选项来为 TIFF 启用压缩。但对于大多数图像,TIFF 会比 JPEG 大。此外,您还指定了 resize
选项,可将图像放大至 979x734,使其成为更大的图像。
作为补充说明,您当前的代码转换了两次,一次通过
input_path = "/images/1.jpg"
image = MiniMagick::Image.open(input_path)
k = image.format("tiff")
k.write("/images/1_tiff")
tiff_path = "/images/1_tiff"
打开 jpg 并写入 tiff,第二次执行
image_data = MiniMagick::Tool::Convert.new do |img|
img << tiff_path
img << '-resize' << "1600x734"
img << '-colorspace' << "scRGB"
img << '-density' << "700"
img << '-background' << "white"
img << '-verbose'
img << tiff_path
end
重新打开 tiff 文件,将其调整为定义的参数,然后再次输出到 tiff_path
。这可以仅使用 convert:
input_path = "/images/1.jpg"
tiff_path = "/images/1.tiff"
MiniMagick::Tool::Convert.new do |img|
img << input_path
img << '-compress' << 'ZIP'
img << '-resize' << "1600x734"
img << '-colorspace' << "scRGB"
img << '-density' << "700"
img << '-background' << "white"
img << tiff_path
end