کتابخانه تصویربرداری روبی منبع باز برای خواندن، نوشتن و تغییر اندازه تصاویر
Open Source Image Processing Library that allows Software Developers to Generate, Modify, Read, Resize, Watermark and Process Images.
در دنیای پردازش تصویر، کارایی و عملکرد بسیار مهم است. چه در حال کار بر روی وب سایتی باشید که نیاز به دستکاری تصویر در حین پرواز یا پردازش حجم زیادی از تصاویر برای برنامه شما دارد، انتخاب یک کتابخانه مناسب می تواند تفاوت را ایجاد کند. Ruby-Vips، جواهر روبی برای کتابخانه Libvips، ابزار قدرتمندی است که برای مقابله با این چالشها طراحی شده است. از فرمتهای تصویری مختلف، از جمله JPEG، PNG، WebP، TIFF و بسیاری دیگر پشتیبانی میکند و تضمین میکند که کاربران میتوانند تصاویر را در قالبهای مختلف بهطور یکپارچه مدیریت کنند.
Ruby-Vips یک پوشش روبی برای کتابخانه Libvips است که به دلیل سرعت و کارایی حافظه خود شناخته شده است. Libvips، مخفف "VIPS" (سیستم پردازش تصویر VASARI)، یک کتابخانه پردازش تصویر سریع و کارآمد است که از اوایل دهه 1980 وجود داشته است. Libvips یک کتابخانه C برای پردازش تصویر است که در مدیریت تصاویر بزرگ عالی است و می تواند طیف وسیعی از عملیات را روی تصاویر با حداقل هزینه حافظه انجام دهد. Ruby-Vips به توسعه دهندگان Ruby اجازه می دهد تا از پتانسیل کامل Libvips استفاده کنند و آن را به ابزاری ارزشمند برای پردازش تصویر شما تبدیل کند. این به دلیل عملکرد استثنایی خود هنگام کار با تصاویر بزرگ شناخته شده است و در میان توسعه دهندگانی که با وظایف پردازش تصویر در مقیاس سر و کار دارند به محبوبیت تبدیل شده است.
Ruby-Vips قابلیت های چشمگیر libvips را به ارث برده و آنها را به اکوسیستم Ruby می آورد. با قابلیتهای قدرتمند و پردازش کارآمد تصویر، یک انتخاب عالی برای توسعهدهندگان نرمافزار و متخصصانی است که با تصاویر در برنامههای Ruby خود کار میکنند. چه در حال ساخت وب سایتی باشید که به دستکاری تصویر، انجام تجزیه و تحلیل علمی تصویر، یا پردازش تصاویر به صورت انبوه نیاز دارد، Ruby-Vips می تواند گردش کار شما را ساده کرده و عملکرد را افزایش دهد. کتابخانه را در پروژه های پردازش تصویر خود بگنجانید و از سرعت، کارایی و تطبیق پذیری آن در جدول استفاده کنید.
شروع به کار با Ruby-Vips
روش توصیه شده برای نصب Ruby-Vips استفاده از RubyGems است. لطفا از دستور زیر برای نصب راحت استفاده کنید.
Ruby-Vips را از طریق GitHub نصب کنید
$ 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 برای توسعه دهندگان نرم افزار آسان می کند. این کتابخانه همچنین از استخراج و اصلاح فراداده تصویر تنها با چند خط کد روبی پشتیبانی می کند. میتوانید بدون زحمت به جزئیاتی مانند عرض، ارتفاع، نمایههای 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 استفاده از حافظه را از طریق مدل پردازش "تنبل" خود به حداقل می رساند، به این معنی که کل تصویر را در حافظه بارگذاری نمی کند. این منجر به استفاده کارآمد از حافظه حتی هنگام کار با تصاویر عظیم می شود.