1. محصولات
  2.   تصویر
  3.   GO
  4.   imaginary
 
  

برو به API برای پردازش تصویر مبتنی بر HTTP

کتابخانه متن‌باز Go که از برش هوشمند آنلاین، چرخاندن یا چرخاندن تصاویر، ایجاد ریز عکس‌ها، بزرگ‌نمایی تصویر، افزودن واترمارک به PNG، WEBP، TIFF، PDF، GIF، و SVG و غیره پشتیبانی می‌کند.

Imaginary یک Go API پردازش تصویر مبتنی بر HTTP منبع باز بسیار قدرتمند است که به توسعه دهندگان نرم افزار قدرت انجام عملیات تصویر پیشرفته را از طریق سرویس های HTTP خصوصی یا عمومی با وابستگی کمتر می دهد. از عملیات پیشرفته مانند مجوز توکن API، حفاظت از امضای URL، استراتژی دریچه گاز ترافیک HTTP و پشتیبانی CORS برای مشتریان وب پشتیبانی می کند. این کتابخانه می تواند تصاویر را از بارهای HTTP POST، مسیرهای محلی سرور یا سرورهای راه دور HTTP بخواند.

Imaginary یک کتابخانه قدرتمند و پایدار است که بر روی libvips یک پردازش سریع و کارآمد تصویر ساخته شده است. این کتابخانه شامل پشتیبانی از فرمت‌های تصویری مانند JPEG، PNG، HEIF، WEBP، TIFF، PDF، GIF، و فرمت‌های SVG و همچنین تبدیل شفاف بین آنها می‌شود. پشتیبانی کاملی از Docker & Fly.io ارائه کرده است. نکته مهم در مورد Fly این است که می تواند تاخیر را کاهش دهد و با ارائه ترافیک نزدیک به مکان کاربر شما، تمرین بهتری را ارائه دهد.

کتابخانه خیالی به طور کامل از چندین ویژگی مهم مربوط به ایجاد، تبدیل و دستکاری تصویر مانند تغییر اندازه تصویر، بزرگ‌نمایی تصاویر، برش تصویر، برش هوشمند، چرخش تصاویر، چرخش خودکار با تغییرات بیشتر تصویر، چرخش خودکار بر اساس متادیتا EXIF، تصویر پشتیبانی می‌کند. فلاپ کردن، بزرگنمایی تصاویر، ایجاد ریز عکسها، متناسب کردن تصاویر، جاسازی یا گسترش تصویر، اضافه کردن تصویر واترمارک، افزودن جلوه های تاری به یک تصویر و بسیاری موارد دیگر.

Previous Next

شروع کار با خیالی

ساده ترین و توصیه شده ترین راه برای نصب imaginary از طریق GitHub است.

Imaginary را از طریق GitHub نصب کنید

go get -u github.com/h2non/imaginary

از طریق Go تصاویر را به فرمت های دیگر تبدیل کنید

کتابخانه خیالی API منبع باز دارای پشتیبانی برای تبدیل تصاویر شما به سایر فرمت های فایل پشتیبانی شده است. شما می توانید تصاویر را در برخی از فرمت های بسیار مفید مانند فرمت های JPEG، PNG و WEBP ذخیره کنید. این کتابخانه پشتیبانی از تبدیل را با تنظیمات کیفیت و فشرده سازی اضافی ارائه کرده است. شما فقط باید نام تصویر، آدرس و فرمت تبدیل صحیح را ارائه دهید و کتابخانه به راحتی آن را تنها با چند دستور Go برای شما تبدیل می کند.

تبدیل تصویر از طریق کتابخانه خیالی

func Convert(buf []byte, o ImageOptions) (Image, error) {
	if o.Type == "" {
		return Image{}, NewError("Missing required param: type", http.StatusBadRequest)
	}
	if ImageType(o.Type) == bimg.UNKNOWN {
		return Image{}, NewError("Invalid image type: "+o.Type, http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	return Process(buf, opts)
}

برش تصویر آنلاین از طریق Go

کتابخانه تخیلی منبع باز توسعه دهندگان نرم افزار را قادر می سازد تا تصاویر خود را به صورت آنلاین تنها با چند خط کد Go در داخل برنامه های خود برش دهند. شما می توانید تصویر خود را با ارائه عرض یا ارتفاع سفارشی برش دهید. کتابخانه با حفظ نسبت تصویر کار شما را آسان می کند. این کتابخانه همچنین از برش تصویر با استفاده از الگوریتم برش هوشمند داخلی libvips پشتیبانی می کند. همچنین می توانید سطح فشرده سازی تصویر را برای تصاویر PNG تعریف کنید و تصاویر خود را به راحتی ورق بزنید، فلاپ کنید و بچرخانید.

برش تصویر از طریق کتابخانه Go

{
    "operation": "crop",
    "params": {
      "width": 500,
      "height": 300
    }

اندازه تصاویر را به تناسب تغییر دهید

کتابخانه تخیلی رایگان شامل پشتیبانی از تغییر اندازه تصاویر با استفاده از دستورات Go در داخل برنامه‌هایشان است. شما به راحتی می توانید اندازه یک تصویر را طوری تغییر دهید که در عرض و ارتفاع قرار گیرد، بدون برش. کتابخانه با حفظ نسبت تصویر، کار شما را آسان می کند. عرض و ارتفاع یک کادر حد اکثری را برای تصویر مشخص می کند.

تغییر اندازه تصویر از طریق Free Go Library

func Resize(buf []byte, o ImageOptions) (Image, error) {
	if o.Width == 0 && o.Height == 0 {
		return Image{}, NewError("Missing required param: height or width", http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	opts.Embed = true
	if o.IsDefinedField.NoCrop {
		opts.Crop = !o.NoCrop
	}
	return Process(buf, opts)
}

چرخش و چرخش خودکار تصاویر خود

کتابخانه تخیلی رایگان قابلیتی برای چرخاندن تصاویر شما به راحتی فراهم کرده است. همچنین دارای یک عملکرد بسیار مفید برای چرخش خودکار تصاویر در داخل برنامه های Go است. این به طور خودکار تصویر را بدون تغییر بیشتر بر اساس متادیتا جهت EXIF می چرخاند. روش AutoRotate یک تصویر جدید با اندازه و فرمت مشابه تصویر ورودی تولید می کند.

چرخش خودکار تصویر از طریق Free Go Library

func AutoRotate(buf []byte, o ImageOptions) (out Image, err error) {
	defer func() {
		if r := recover(); r != nil {
			switch value := r.(type) {
			case error:
				err = value
			case string:
				err = errors.New(value)
			default:
				err = errors.New("libvips internal error")
			}
			out = Image{}
		}
	}
 فارسی