Thư viện mã nguồn mở cho Go Developers
IF là một trong những thư viện nguồn mở dễ nhất để sử dụng khi nó đến xử lý hình ảnh và thao túng trong khi sử dụng Go.
Khi nó đến để phát triển các ứng dụng trong Go dựa vào việc xử lý hình ảnh và thao túng, thư viện IF (Go Image Processing Toolkit) là một trong những thư viện tốt nhất, đầy đủ mà cô có thể sử dụng. Nó không cần thêm các plugin hay thư viện nào ngoài tầm của Go, và có thể tải trực tiếp từ Git.
Như một thư viện nguồn mở, cô có thể dễ dàng bao gồm IF cho ứng dụng phần mềm của cô để cho phép các tính năng xử lý hình ảnh giống như hình ảnh, cắt, thêm bộ lọc, tăng hoặc giảm độ bão hòa và nhiều hơn nữa.
Tương tự, cô cũng có thể tạo ra một bộ lọc mới hoặc hình ảnh mới, cách sử dụng bộ lọc đã được thêm vào trong bộ dụng cụ. Nó khá dễ sử dụng, nhẹ và không cần có khả năng tương thích giữa các nền tảng chéo hoặc những mảnh vỡ. Đây là thư viện nguồn mở hoàn hảo cho các nhà phát triển thoải mái sử dụng Go.
Bắt đầu với IF
Cách dễ nhất và đề nghị lắp đặt IF là GitHub. Làm ơn dùng lệnh tiếp theo để lắp đặt dễ dàng và mượt mà.
Cài đặt IF qua GitHub
go get -u github.com/disintegration/gift
Áp dụng bộ lọc sử dụng thư viện Free Go
Thư viện IF nguồn mở cho phép các nhà phát triển phần mềm để lập trình các bộ lọc trong hình ảnh. Với sự giúp đỡ của chức năng Vẽ, anh có thể áp dụng tất cả các bộ lọc và thay đổi hình ảnh của nguồn gốc, và cung cấp cho anh đầu ra kết quả của một hình ảnh đích đến. Sự thay đổi bắt đầu từ góc trái và đi về phía trước.
Áp dụng ColorBalance bộ lọc thông qua Go API
g := gift.New(
gift.ColorBalance(20, -20, 0), // +20% red, -20% green
)
dst := image.NewRGBA(g.Bounds(src.Bounds()))
g.Draw(dst, src)
Thư viện đi miễn phí để thay đổi hình ảnh
Khi nó thay đổi thành phần của hình ảnh có hai chức năng hỗ trợ nó, lần đầu tiên là CopyOperator. Với CopyOperator người có thể thay thế các hình ảnh Dst của anh với các hình ảnh src được lọc. Sự thay đổi này có thể được áp dụng với sự giúp đỡ của chức năng Vẽ đã đề cập ở trên.
Tập hợp hình ảnh thông qua bộ lọc DrawAt
// It outputs the filtered src image to the dst image
g.DrawAt(dst, src, dst.Bounds().Min, gift.CopyOperator)
Dùng Over Operator in Go IF Library
Trong trường hợp anh muốn cho rằng một hình ảnh khác, OverOperator chức năng có thể hoàn thành công việc. Chế độ này có thể hữu dụng trong trường hợp anh muốn đặt các khu vực trong suốt của một hình ảnh src trên hình ảnh Dst.
Làm thế nào để tạo ra hình ảnh thông qua thư viện 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)