1. 产品
  2.   图片
  3.   Ruby
  4.   Ruby-Vips
 
  

用于读取、写入和调整图像大小的开源 Ruby 图像库

开源图像处理库,允许软件开发人员生成、修改、读取、调整大小、加水印和处理图像。 

在图像处理领域,效率和性能至关重要。无论您是在开发需要即时图像处理的网站,还是为您的应用程序处理大量图像,选择合适的库都会产生很大的影响。Ruby-Vips 是 Libvips 库的 Ruby 瑰宝,是一款功能强大的工具,旨在应对这些挑战。它支持各种图像格式,包括 JPEG、PNG、WebP、TIFF 等,确保用户可以无缝处理不同格式的图像。

Ruby-Vips 是 Libvips 库的 Ruby 包装器,Libvips 库以其速度和内存效率而闻名。Libvips 是“VIPS”(VASARI 图像处理系统)的缩写,是一个快速且内存高效的图像处理库,自 20 世纪 80 年代初就已存在。Libvips 是一个用于图像处理的 C 库,擅长处理大型图像,并且可以以最小的内存开销对图像执行各种操作。 Ruby-Vips 允许 Ruby 开发人员充分利用 Libvips 的潜力,使其成为您图像处理工具包的宝贵补充。它以处理大型图像时的出色性能而闻名,并已成为处理大规模图像处理任务的开发人员的最爱。

Ruby-Vips 继承了 libvips 的出色功能,并将其带入 Ruby 生态系统。凭借其强大的功能和高效的图像处理能力,它是在 Ruby 应用程序中处理图像的软件开发人员和专业人士的绝佳选择。无论您是构建需要图像处理的网站、执行科学图像分析还是批量处理图像,Ruby-Vips 都可以简化您的工作流程并提高性能。将该库合并到您的图像处理项目中,并利用它带来的速度、效率和多功能性。

Previous Next

开始使用 Ruby-Vips

安装 Ruby-Vips 的推荐方法是使用 RubyGems。请使用以下命令顺利安装。

通过 GitHub 安装 Ruby-Vips

$ gem install ruby-vips

通过 Ruby 执行图像操作

开源 Ruby-Vips 库允许软件开发人员处理各种类型的图像并对其执行不同类型的操作。使用 Ruby 库,软件开发人员可以执行各种图像操作,例如调整大小、裁剪、旋转和应用滤镜。这些操作不仅功能强大,而且性能也得到了高度优化。以下示例展示了软件开发人员如何以编程方式加载现有图像并将其调整为 300 像素的宽度,并使用 Ruby 代码保存结果。

如何使用 Ruby API 调整现有图像的大小?

require 'vips'
# Open an image
image = Vips::Image.new('input.jpg')
# Resize the image to 300 pixels wide while maintaining the aspect ratio
resized_image = image.thumbnail_image(300)
# Save the resized image
resized_image.write_to_file('output.jpg')

通过 Ruby 读取和写入元数据

开源 Ruby-Vips 库使软件开发人员可以轻松地在 Ruby 应用程序中加载、读取和写入图像元数据。该库还支持仅用几行 Ruby 代码即可提取和修改图像元数据。您可以轻松访问图像宽度、高度、ICC 配置文件和 EXIF 数据等详细信息。以下示例演示了软件开发人员如何使用 Ruby-Vips 库从图像中读取和写入元数据。

如何使用 Ruby API 从图像读取和写入元数据?

require 'vips'
# Open an image
image = Vips::Image.new('your_image.jpg')
# Retrieve specific metadata
width = image.get('width')
height = image.get('height')
# Display metadata
puts "Image width: #{width}"
puts "Image height: #{height}"

# Write Metadata from an Image using Ruby-Vips Library?
require 'vips'
# Open an image
image = Vips::Image.new('your_image.jpg')
# Set new metadata
image.set('icc-profile-data', 'new_icc_profile_data')
image.set('exif-data', 'new_exif_data')
# Save the modified image
image.write_to_file('modified_image.jpg')

快速处理和低内存占用

Ruby-Vips 的突出特点之一是其出色的速度。Libvips 的设计旨在节省内存,并充分利用现代 CPU,使其成为处理大型图像的理想选择。处理大型图像时,内存使用量通常是一个问题。Ruby-Vips 通过其“惰性”处理模型最大限度地减少了内存使用量,这意味着它不会将整个图像加载到内存中。即使在处理大量图像时,这也能实现高效的内存利用率。

 中国人