Mergi  

 
 

GO API สำหรับการปรับแต่งรูปภาพขั้นสูง

ไลบรารี Open Source 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 ของเส้นทางไฟล์ จากนั้นคุณต้องส่งรูปภาพไปยังอาร์เรย์และใช้การหน่วงเวลาตามความต้องการของคุณ ในท้ายที่สุด คุณสามารถส่งออกผลลัพธ์สุดท้ายผ่านตัวส่งออกแอนิเมชันเพื่อรับไฟล์ 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 ของตนเองได้ นักพัฒนาต้องระบุความกว้างและความสูงของรูปภาพและตำแหน่งที่ต้องการ

ตัดภาพผ่านไป 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 ได้อย่างง่ายดาย ด้วยการใช้คุณลักษณะลายน้ำ เราสามารถปกป้อง ของเรา ภาพของเราจากการสร้างและแจกจ่ายสำเนาโดยไม่ได้รับอนุญาต ห้องสมุดรองรับการวางโลโก้และลายน้ำข้อความโดยใช้โค้ด 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"))
 ไทย