オープンソースの高レベル画像処理 Go ライブラリ
画像の回転、画像の調整、画像のサムネイルの作成、画像のズーム、画像の埋め込みまたは拡張、画像へのぼかし効果の追加などを可能にする Go API。
bimg はオープン ソースの高レベル画像処理 Go ライブラリで、わずか数行の Go コードで画像を読み取って操作する機能を提供します。ライブラリのサイズは小さくなりますが、非常によく整理された効率的な結果が得られます。このライブラリは、タスクを完了するために必要なメモリが非常に小さい他の利用可能なライブラリと比較して非常に高速です。
bimg は、画像処理用の非常に強力なライブラリである libvips の上に構築された高レベルの C ライブラリです。 JPEG、PNG、WEBP、TIFF、PDF、GIF、SVG などの非常に一般的な画像ファイル形式の読み取りをサポートします。画像を JPEG、PNG、WEBP 形式や透過画像に簡単にエクスポートすることもできます。
bimg ライブラリには、画像のサイズ変更、画像の拡大、スマート トリミングのサポートを含む画像のトリミング、画像の反転または回転、画像のサムネイルの作成、画像のズームのサポート、透かしやガウスぼかし効果の追加、特定の抽出など、いくつかの重要な画像処理機能のサポートが含まれています。画像からの領域、画像のトリミング、他の形式への画像変換など。
bimg の使用を開始する
bimg をインストールする最も簡単で推奨される方法は、GitHub を使用することです。
GitHub 経由で bimg をインストールする
go get -u gopkg.in/h2non/bimg.v1
Go による他の形式への画像変換
オープン ソースの bimg ライブラリを使用すると、ソフトウェア開発者は、ほんの数行の Go コードを使用して、プログラムで画像を他のサポートされているファイル形式に変換できます。 JPEG 形式があり、それを PNG に変換したいとします。画像名、アドレス、変換形式などの画像情報を提供する必要があります。画像は、推奨される形式に簡単に変換されます。
コンバーター JPG 囲碁図書館経由NG画像
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 アプリケーション内で画像のサイズ変更やトリミングを行うことができます。新しい画像の幅と高さと場所も指定する必要があります。また、アスペクト比を維持せずにサイズ変更操作を強制することもサポートしています。テキストを追加して、画像から選択した領域を抽出することもできます。トリミングは、イメージを指定された正確なサイズにトリミングします。
囲碁ライブラリによる画像のサイズ変更
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 アプリケーション内の画像に透かしを簡単に追加する機能が含まれています。透かしの追加は、画像を保護するための非常に便利な機能です。透かしは、インターネット上の写真を保護するための最も簡単で便利な方法です。ロゴやテキストの透かしを簡単に配置できます。このライブラリは、選択した位置と不透明度にプログラムで透かしを画像に追加するのに役立ちます。
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 言語コマンドを使用して、必要に応じて画像を回転させることができます。自動画像回転の方法があります。 AutoRotate 機能は、利用可能な場合、EXIF 方向メタデータに基づいて、追加の変換なしで画像を自動的に回転します。また、画像のフリップまたはフロップ、画像の解釈、画像の長さ、画像のメタデータなどのサポートも提供します。
Go Apps内の画像を回転
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)