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

Mergi  

 
 

GO API for Advanced Image Manipulation

برای ادغام، برش و تغییر اندازه تصاویر به صورت برنامه‌ریزی، کتابخانه منبع‌دهی Go را باز کنید. می توانید واترمارک و انیمیشن را به تصاویر داخل برنامه های خود اضافه کنید.

Mergi یک کتابخانه قدرتمند go است که قابلیت پردازش برنامه‌ای تصاویر را با استفاده از زبان GO فراهم می‌کند. این کتابخانه به خوبی سازماندهی شده است و می تواند به راحتی برای انجام عملیات های متعدد تنها با چند خط کد Go یکپارچه شود. این کتابخانه به صورت رایگان تحت مجوز MIT در دسترس است و می تواند به راحتی در پروژه های شما استفاده شود.

کتابخانه منبع باز Mergi شامل پشتیبانی کامل از چندین ویژگی مهم پردازش تصویر مانند ادغام تصاویر، پشتیبانی از برش تصویر، تغییر اندازه تصاویر، افزودن واترمارک به تصاویر شما، تسهیلات انیمیشن تصویر، آسان کردن تصاویر، افزودن انتقال به تصاویر و بسیاری موارد دیگر است.

Previous Next

شروع کار با Mergi

ساده ترین راه برای نصب Mergi استفاده از GitHub است. لطفا از دستور زیر برای نصب راحت استفاده کنید

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

$ go get github.com/noelyahan/mergi 

تصاویر را از طریق Go API متحرک کنید

کتابخانه منبع باز Mergi به توسعه دهندگان نرم افزار این قدرت را می دهد که هر نتیجه آرایه تصویری را در برنامه های GO خود متحرک کنند. شما باید مسیر صحیح تصویر یا URL مسیر فایل را ارائه دهید. سپس باید Images را به یک آرایه منتقل کنید و بر اساس نیاز خود تاخیر اعمال کنید. در پایان، می‌توانید نتیجه نهایی را از طریق یک صادرکننده انیمیشن صادر کنید تا فایل GIF حاصل را دریافت کنید.

نحوه متحرک سازی تصاویر از طریق Go API

func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
	for i, v := range imgs {
		if v == nil {
			msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
			return gif.GIF{}, errors.New(msg)
		}
	}
	delays := make([]int, 0)
	for i := 0; i < len(imgs); i++ {
		delays = append(delays, delay)
	}
	images := encodeImgPaletted(&imgs)
	return gif.GIF{
		Image: images,
		Delay: delays,
	}, nil
}

برش تصویر از طریق Go API

یک تصویر عالی می تواند هزاران کلمه را بیان کند. برش تصویر حذف یک ناحیه ناخواسته از یک تصویر برای ایجاد فوکوس یا تقویت تصویر است. کتابخانه Mergi به برنامه نویسان نرم افزار امکان می دهد تصاویر خود را در برنامه های Go خود برش دهند. توسعه دهنده باید عرض و ارتفاع سفارشی تصویر و مکان مورد نیاز را ارائه دهد.

برش تصویر از طریق Go API

var errCrop = errors.New("Mergi found a error image on Crop")
var errCropBound = errors.New("Mergi expects more than 0 value for bounds")
func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
	for i, v := range imgs {
		if v == nil {
			msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
			return gif.GIF{}, errors.New(msg)
		}
	}
	delays := make([]int, 0)
	for i := 0; i < len(imgs); i++ {
		delays = append(delays, delay)
	}
	images := encodeImgPaletted(&imgs)
	return gif.GIF{
		Image: images,
		Delay: delays,
	}, nil
}

اضافه کردن واترمارک به تصاویر

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

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

originalImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
watermarkImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/glass-mergi_logo_watermark_90x40.jpg"))
res, _ := mergi.Watermark(watermarkImage, originalImage, image.Pt(250, 10))
mergi.Export(impexp.NewFileExporter(res, "watermark.png"))

پشتیبانی از ادغام تصاویر

کتابخانه Mergi به توسعه دهندگان کمک می کند تا با استفاده از دستورات برنامه نویسی Go، چندین تصویر را در یک تصویر واحد بر اساس نیاز خود ترکیب کنند. این کتابخانه از ادغام چندین تصویر با توجه به الگوهای داده شده پشتیبانی می کند. از امکانات ادغام افقی و ادغام عمودی پشتیبانی می کند. برای ترکیب دو تصویر باید یک مسیر تصویر یا URL صحیح ارائه دهید و پس از آن، می توانید یک الگو را برای ادغام تصاویر به صورت افقی یا عمودی انتخاب کنید.

ادغام تصاویر از طریق Go API

image1, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
image2, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_2.png"))
horizontalImage, _ := mergi.Merge("TT", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(horizontalImage, "horizontal.png"))
verticalImage, _ := mergi.Merge("TB", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(verticalImage, "vertical.png"))
 فارسی