Mergi
API GO cho thao tác hình ảnh nâng cao
Thư viện mã nguồn mở Go để hợp nhất, cắt và thay đổi kích thước hình ảnh theo chương trình. Bạn có thể thêm hình mờ và hoạt ảnh vào hình ảnh bên trong ứng dụng của riêng mình.
Mergi là một thư viện go mạnh mẽ cung cấp khả năng xử lý hình ảnh theo chương trình bằng ngôn ngữ GO. Thư viện được tổ chức tốt và có thể dễ dàng tích hợp để thực hiện nhiều thao tác chỉ với một vài dòng mã Go. Thư viện được cung cấp miễn phí theo giấy phép MIT và có thể được sử dụng trong các dự án của bạn một cách dễ dàng.
Thư viện Mergi mã nguồn mở đã bao gồm hỗ trợ hoàn chỉnh cho một số tính năng xử lý hình ảnh quan trọng như hợp nhất hình ảnh, hỗ trợ cắt hình ảnh, thay đổi kích thước hình ảnh, thêm hình mờ vào hình ảnh của bạn, cơ sở hoạt hình hình ảnh, làm dịu hình ảnh, thêm chuyển tiếp vào hình ảnh và nhiều hơn nữa.
Bắt đầu với Mergi
Cách dễ nhất để cài đặt Mergi là sử dụng thông qua GitHub. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ
Cài đặt Mergi qua GitHub.
$ go get github.com/noelyahan/mergi
Tạo hình ảnh động qua API Go
Thư viện Mergi mã nguồn mở cung cấp cho các nhà phát triển phần mềm sức mạnh để tạo hoạt ảnh cho bất kỳ kết quả mảng hình ảnh nhất định nào bên trong các ứng dụng GO của riêng họ. Bạn cần cung cấp đường dẫn chính xác của hình ảnh hoặc URL của đường dẫn tệp. Sau đó, bạn cần chuyển Hình ảnh vào một mảng và áp dụng độ trễ tùy theo nhu cầu của bạn. Cuối cùng, bạn có thể xuất kết quả cuối cùng thông qua trình xuất ảnh động để có được tệp GIF kết quả.
Làm thế nào để chụp ảnh thông qua 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
}
Cắt hình ảnh qua API Go
Một bức tranh hoàn hảo có thể nói lên hàng nghìn từ. Cắt ảnh là việc loại bỏ một vùng ảnh không mong muốn để tạo tiêu điểm hoặc tăng cường sức mạnh cho ảnh. Thư viện Mergi cho phép các lập trình viên phần mềm cắt hình ảnh của họ bên trong các ứng dụng Go của riêng họ. Nhà phát triển cần cung cấp chiều rộng và chiều cao tùy chỉnh của hình ảnh và vị trí được yêu cầu.
Crop Image thông qua 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
}
Hình mờ bổ sung cho hình ảnh
Thư viện Mergi miễn phí cung cấp cho các nhà lập trình phần mềm khả năng chèn hình mờ theo chương trình vào hình ảnh bên trong ứng dụng Go của họ một cách dễ dàng. Bằng cách sử dụng tính năng Watermarking, chúng tôi có thể dễ dàng bảo vệ hình ảnh của chúng tôi khỏi việc tạo và phân phối các bản sao trái phép. Thư viện hỗ trợ đặt logo cũng như hình mờ văn bản bằng cách sử dụng một vài dòng mã Go. Các hình mờ có thể được đặt ở bất kỳ vị trí đã chọn nào mà bạn chọn cũng như với độ mờ tùy chọn của bạn.
Thêm watermark vào hình ảnh qua 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"))
Hỗ trợ hợp nhất hình ảnh
Thư viện Mergi tạo điều kiện cho các nhà phát triển kết hợp nhiều hình ảnh thành một hình ảnh duy nhất theo nhu cầu của họ bằng cách sử dụng các lệnh lập trình Go. Thư viện hỗ trợ ghép nhiều hình ảnh theo các mẫu cho sẵn. Nó hỗ trợ các cơ sở hợp nhất theo chiều ngang và hợp nhất theo chiều dọc. Để kết hợp hai hình ảnh, bạn cần cung cấp đường dẫn hình ảnh hoặc URL chính xác và sau đó, bạn có thể chọn một mẫu để hợp nhất hình ảnh theo chiều ngang hoặc chiều dọc.
Merge Image by 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"))