Skip to content

zhitoo/imagizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Image Resizer with Caching

این پروژه یک سرویس ساده برای تغییر اندازه تصاویر با زبان Golang است. شما می‌توانید تصویر را از مسیر محلی یا URL بگیرید و با ابعاد و فرمت دلخواه خروجی بگیرید.


ویژگی‌ها

  • پشتیبانی از فرمت‌های JPEG, PNG, GIF, WebP

  • حالت‌های تغییر اندازه:

    • fit → فیت در کادر با حفظ نسبت ابعاد
    • fill → کراپ و پر کردن کادر
    • resize → تغییر اندازه دقیق بدون حفظ نسبت
  • پارامتر کیفیت برای JPEG و WebP (q=1..100)


نصب پکیج‌ها

go mod tidy

اجرا

make run

سرویس به‌صورت پیش‌فرض روی پورت 8080 در دسترس است.


استفاده

تغییر اندازه تصویر از URL

curl "http://localhost:8080/?src=https://fastly.picsum.photos/id/2/5000/3333.jpg?hmac=_KDkqQVttXw_nM-RyJfLImIbafFrqLsuGO5YuHqD-qQ&w=200&w=800&h=600&mode=fit"

تغییر اندازه تصویر local

curl "http://localhost:8080/?src=./assets/test.png&w=400&h=400&mode=fill&format=webp"

فقط یک بعد (حفظ نسبت)

curl "http://localhost:8080/?src=./assets/test.png&w=1024"

پارامترها

  • src (اجباری): مسیر فایل یا URL تصویر
  • w : عرض (اختیاری، اگر نباشد از نسبت محاسبه می‌شود)
  • h : ارتفاع (اختیاری، اگر نباشد از نسبت محاسبه می‌شود)
  • mode : یکی از fit, fill, resize (پیش‌فرض: fit)
  • format : خروجی jpeg, png, gif, webp یا auto (پیش‌فرض: همان فرمت ورودی)
  • q : کیفیت برای JPEG/WEBP (تا ۱۰۰، پیش‌فرض ۸۰)

About

image resizer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published