ไลบรารีการประมวลผลรูปภาพระดับสูงแบบโอเพนซอร์ส
Go API ที่อนุญาตให้หมุนรูปภาพ ปรับรูปภาพให้พอดี สร้างภาพขนาดย่อของรูปภาพ ซูมรูปภาพ ฝังหรือขยายรูปภาพ เพิ่มเอฟเฟกต์เบลอให้กับรูปภาพ และอื่นๆ อีกมากมาย
bimg เป็นไลบรารี Go การประมวลผลภาพระดับสูงแบบโอเพนซอร์สที่ให้ความสามารถในการอ่านและจัดการรูปภาพด้วยโค้ด Go เพียงไม่กี่บรรทัด ห้องสมุดมีขนาดเล็กลง แต่ให้ผลลัพธ์ที่มีการจัดการเป็นอย่างดีและมีประสิทธิภาพ ห้องสมุดมีความรวดเร็วมากเมื่อเทียบกับไลบรารีอื่น ๆ ที่พร้อมใช้งานซึ่งต้องการหน่วยความจำขนาดเล็กมากในการทำงานให้เสร็จสิ้น
bimg เป็นไลบรารี C ระดับสูงที่สร้างขึ้นบน libvips ซึ่งเป็นไลบรารีที่ทรงพลังมากสำหรับการประมวลผลภาพ รองรับการอ่านรูปแบบไฟล์รูปภาพยอดนิยมบางรูปแบบ เช่น JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG เป็นต้น คุณยังสามารถส่งออกรูปภาพไปยังรูปแบบ JPEG, PNG, WEBP รวมถึงรูปภาพแบบโปร่งใสได้อย่างง่ายดาย
ไลบรารี bimg ได้รวมการรองรับคุณสมบัติการประมวลผลภาพที่สำคัญหลายประการ เช่น การปรับขนาดภาพ การขยายภาพ การครอบตัดภาพรวมถึงการรองรับการครอบตัดแบบอัจฉริยะ การพลิกหรือหมุนภาพ การสร้างภาพขนาดย่อ การรองรับการซูมภาพ การเพิ่มลายน้ำและเอฟเฟกต์เบลอแบบเกาส์เซียน แยกเฉพาะ พื้นที่จากรูปภาพ ตัดแต่งรูปภาพ แปลงรูปภาพเป็นรูปแบบอื่น ๆ และอื่น ๆ อีกมากมาย
เริ่มต้นกับbimg
วิธีที่ง่ายที่สุดและแนะนำในการติดตั้ง bimg คือผ่าน GitHub
ติดตั้ง bimg ผ่าน GitHub
go get -u gopkg.in/h2non/bimg.v1
การแปลงรูปภาพเป็นรูปแบบอื่นผ่าน Go
ไลบรารี bimg แบบโอเพ่นซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถแปลงรูปภาพเป็นรูปแบบไฟล์อื่นที่สนับสนุนโดยทางโปรแกรมโดยใช้โค้ด Go เพียงไม่กี่บรรทัด สมมติว่าคุณมีรูปแบบ JPEG และต้องการแปลงเป็น PNG คุณต้องระบุข้อมูลรูปภาพ เช่น ชื่อรูปภาพ ที่อยู่ และรูปแบบการแปลง รูปภาพจะถูกแปลงเป็นรูปแบบที่แนะนำได้อย่างง่ายดาย
แปลง JPG ภาพเป็น NG ผ่านห้องสมุด Go
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Convert(bimg.PNG)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
if bimg.NewImage(newImage).Type() == "png" {
fmt.Fprintln(os.Stderr, "The image was converted into png")
}
ครอบตัดหรือปรับขนาดรูปภาพ
ไลบรารี bimg ฟรีช่วยให้นักพัฒนาซอฟต์แวร์สามารถปรับขนาดและครอบตัดรูปภาพภายในแอปพลิเคชัน Go ของตนเองได้ คุณต้องระบุความกว้างและความสูงของรูปภาพและตำแหน่งใหม่ด้วย นอกจากนี้ยังรองรับการบังคับการปรับขนาดโดยไม่รักษาอัตราส่วนภาพไว้ คุณยังสามารถเพิ่มข้อความและแยกพื้นที่ที่คุณเลือกจากรูปภาพได้อีกด้วย ครอบตัดรูปภาพตามขนาดที่ระบุ
ปรับขนาดภาพผ่านห้องสมุด Go
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Resize(800, 600)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
size, err := bimg.NewImage(newImage).Size()
if size.Width == 800 && size.Height == 600 {
fmt.Println("The image size is valid")
}
bimg.Write("new.jpg", newImage)
การเพิ่มลายน้ำให้กับรูปภาพ
bimg API ได้รวมฟังก์ชันสำหรับการเพิ่มลายน้ำให้กับรูปภาพภายในแอปพลิเคชัน Go อย่างง่ายดาย การเพิ่มลายน้ำเป็นคุณสมบัติที่มีประโยชน์มากในการปกป้องรูปภาพของคุณ ลายน้ำเป็นวิธีที่ง่ายที่สุดและมีประโยชน์มากในการปกป้องภาพถ่ายของคุณบนอินเทอร์เน็ต คุณสามารถวางโลโก้หรือลายน้ำข้อความได้อย่างง่ายดาย ไลบรารีช่วยให้คุณเพิ่มลายน้ำโดยทางโปรแกรมให้กับรูปภาพของคุณในตำแหน่งที่เลือกตลอดจนความทึบ
เพิ่มลายน้ําให้กับภาพผ่านไป API
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
watermark := bimg.Watermark{
Text: "Chuck Norris (c) 2315",
Opacity: 0.25,
Width: 200,
DPI: 100,
Margin: 150,
Font: "sans bold 12",
Background: bimg.Color{255, 255, 255},
}
newImage, err := bimg.NewImage(buffer).Watermark(watermark)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)
พลิกและหมุนรูปภาพ
ไลบรารี bimg แบบโอเพ่นซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถหมุนภาพตามความต้องการโดยใช้คำสั่งภาษา Go มีวิธีการหมุนภาพอัตโนมัติ ฟังก์ชันหมุนอัตโนมัติจะหมุนรูปภาพโดยอัตโนมัติโดยไม่มีการเปลี่ยนแปลงเพิ่มเติมตามข้อมูลเมตาของการวางแนว EXIF หากมี นอกจากนี้ยังรองรับภาพพลิกหรือพลิก การตีความภาพ ความยาวของภาพ ข้อมูลเมตาของภาพ และอื่นๆ อีกมากมาย
หมุนภาพภายในแอป Go
buffer, err := bimg.Read("image.jpg")
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Rotate(90)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)