แหล่งที่มาเปิดห้องสมุดการจัดการภาพสําหรับนักพัฒนา Go

GIFT เป็นหนึ่งในไลบรารี่โอเพ่นซอร์สที่ใช้งานง่ายที่สุดในการประมวลผลภาพและการปรับเปลี่ยนในขณะที่ใช้ Go

เมื่อพูดถึงการพัฒนาแอปพลิเคชันใน Go ที่ต้องพึ่งพาการประมวลผลและจัดการภาพ ไลบรารี GIFT (Go Image Processing Toolkit) เป็นหนึ่งในไลบรารี่ที่ดีที่สุดและบรรจุไว้อย่างครบครันที่คุณสามารถใช้ได้ ไม่ต้องใช้ปลั๊กอินหรือไลบรารีเพิ่มเติมที่อยู่นอกขอบเขตของ Go และสามารถดาวน์โหลดได้โดยตรงจาก Git

ในฐานะที่เป็นไลบรารีโอเพ่นซอร์ส คุณสามารถรวม GIFT เข้ากับแอปพลิเคชันซอฟต์แวร์ของคุณได้อย่างง่ายดาย เพื่ออนุญาตคุณสมบัติการประมวลผลภาพ เช่น การปรับขนาดภาพ การครอบตัด การเพิ่มตัวกรอง การเพิ่มหรือลดความอิ่มตัว และอื่นๆ อีกมากมาย

ในทำนองเดียวกัน คุณยังสามารถสร้างตัวกรองใหม่หรือรูปภาพใหม่ได้ นอกเหนือจากการใช้ตัวกรองที่เพิ่มไว้แล้วในชุดเครื่องมือ มันค่อนข้างใช้งานง่าย น้ำหนักเบา และไม่ต้องการความเข้ากันได้หรือปรับแต่งข้ามแพลตฟอร์ม เป็นไลบรารีโอเพ่นซอร์สที่สมบูรณ์แบบสำหรับนักพัฒนาที่ใช้งาน Go ได้อย่างสะดวกสบาย

Previous Next

เริ่มต้นใช้งาน IF

วิธีที่ง่ายที่สุดและแนะนําในการติดตั้ง IF ผ่าน GitHub โปรดใช้คําสั่งต่อไปนี้สําหรับการติดตั้งที่ง่ายและราบรื่น ..

ติดตั้ง IF ผ่าน GitHub

 go get -u github.com/disintegration/gift

ใช้ตัวกรองโดยใช้ห้องสมุด Go ฟรี

แหล่งเปิดห้องสมุด IF ช่วยให้ผู้พัฒนาซอฟต์แวร์ใช้ตัวกรองในโปรแกรมในภาพ ด้วยความช่วยเหลือของฟังก์ชั่นการวาดภาพคุณสามารถใช้ตัวกรองทั้งหมดและการเปลี่ยนแปลงไปยังภาพแหล่งที่มา (src) และให้ผลลัพธ์ในผลของภาพปลายทาง (dst) การเปลี่ยนแปลงเริ่มต้นจากมุมซ้ายบนและออกไปข้างนอก

วิธีการใช้งานตัวกรอง ColorBalance ผ่านไป API

 g := gift.New(
	gift.ColorBalance(20, -20, 0), // +20% red, -20% green
)
dst := image.NewRGBA(g.Bounds(src.Bounds()))
g.Draw(dst, src)

ฟรีไปห้องสมุดเพื่อเปลี่ยนองค์ประกอบภาพ

เมื่อมันมาถึงการเปลี่ยนองค์ประกอบของภาพมีสองฟังก์ชั่นที่สนับสนุนมันก่อนเป็น CopyOperator ด้วย CopyOperator คุณสามารถเปลี่ยนพิกเซลของภาพ dst ของคุณด้วยพิกเซลของภาพ src ที่กรอง การเปลี่ยนแปลงนี้สามารถนําไปใช้ด้วยความช่วยเหลือของฟังก์ชั่นการวาดที่กล่าวถึงข้างต้น

ใช้องค์ประกอบภาพผ่าน DrawAt ตัวกรองผ่าน Go

// It outputs the filtered src image to the dst image
g.DrawAt(dst, src, dst.Bounds().Min, gift.CopyOperator)

การใช้ผู้ให้บริการมากกว่าใน Go IF ห้องสมุด

ในกรณีที่คุณต้องการคิดว่าภาพหนึ่งภาพมากกว่าอื่น ๆ ฟังก์ชั่น OverOperator สามารถทํางานได้ โหมดนี้จะเป็นประโยชน์ในกรณีที่คุณต้องการวางพื้นที่โปร่งใสของภาพ src ด้านบนของภาพ dst

วิธีการสร้างสําเนาภาพผ่านห้องสมุด Go

// Create a new image with dimensions of the bgImage.
dstImage := image.NewRGBA(bgImage.Bounds())
// Copy the bgImage to the dstImage.
gift.New().Draw(dstImage, bgImage)
// Draw the fgImage over the dstImage at the (100, 100) position.
gift.New().DrawAt(dstImage, fgImage, image.Pt(100, 100), gift.OverOperator)
 ไทย