این پروژه یک سرویس ساده برای تغییر اندازه تصاویر با زبان Golang است. شما میتوانید تصویر را از مسیر محلی یا URL بگیرید و با ابعاد و فرمت دلخواه خروجی بگیرید.
-
پشتیبانی از فرمتهای JPEG, PNG, GIF, WebP
-
حالتهای تغییر اندازه:
fit
→ فیت در کادر با حفظ نسبت ابعادfill
→ کراپ و پر کردن کادرresize
→ تغییر اندازه دقیق بدون حفظ نسبت
-
پارامتر کیفیت برای JPEG و WebP (
q=1..100
)
go mod tidy
make run
سرویس بهصورت پیشفرض روی پورت 8080 در دسترس است.
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"
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 (تا ۱۰۰، پیشفرض ۸۰)