แหล่งที่มาเปิดห้องสมุดการจัดการภาพสําหรับนักพัฒนา Go
GIFT เป็นหนึ่งในไลบรารี่โอเพ่นซอร์สที่ใช้งานง่ายที่สุดในการประมวลผลภาพและการปรับเปลี่ยนในขณะที่ใช้ Go
เมื่อพูดถึงการพัฒนาแอปพลิเคชันใน Go ที่ต้องพึ่งพาการประมวลผลและจัดการภาพ ไลบรารี GIFT (Go Image Processing Toolkit) เป็นหนึ่งในไลบรารี่ที่ดีที่สุดและบรรจุไว้อย่างครบครันที่คุณสามารถใช้ได้ ไม่ต้องใช้ปลั๊กอินหรือไลบรารีเพิ่มเติมที่อยู่นอกขอบเขตของ Go และสามารถดาวน์โหลดได้โดยตรงจาก Git
ในฐานะที่เป็นไลบรารีโอเพ่นซอร์ส คุณสามารถรวม GIFT เข้ากับแอปพลิเคชันซอฟต์แวร์ของคุณได้อย่างง่ายดาย เพื่ออนุญาตคุณสมบัติการประมวลผลภาพ เช่น การปรับขนาดภาพ การครอบตัด การเพิ่มตัวกรอง การเพิ่มหรือลดความอิ่มตัว และอื่นๆ อีกมากมาย
ในทำนองเดียวกัน คุณยังสามารถสร้างตัวกรองใหม่หรือรูปภาพใหม่ได้ นอกเหนือจากการใช้ตัวกรองที่เพิ่มไว้แล้วในชุดเครื่องมือ มันค่อนข้างใช้งานง่าย น้ำหนักเบา และไม่ต้องการความเข้ากันได้หรือปรับแต่งข้ามแพลตฟอร์ม เป็นไลบรารีโอเพ่นซอร์สที่สมบูรณ์แบบสำหรับนักพัฒนาที่ใช้งาน Go ได้อย่างสะดวกสบาย
เริ่มต้นใช้งาน 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)