コンピュータとインターネットの急速な発展に伴い、ほとんどのアプリケーション ソフトウェアは特定の機能を実行するために画像という媒体を必要とします。プログラミング言語では、画像を処理するためのさまざまな API や関数が提供されています。
Golang は、効率的で信頼性が高く、シンプルなソフトウェアを開発するために設計された新しいプログラミング言語です。これは比較的新しい言語ですが、ますます多くのアプリケーションで選択される言語となっています。この記事ではGolangで画像を表示する方法を紹介します。
画像の処理を開始する前に、関連ライブラリをインポートする必要があります。 Golang では、画像を png 形式で表示するには image
および image/png
パッケージを使用し、画像を jpeg 形式で表示するには image/jpeg
を使用します。ライブラリをインポートするコードは次のとおりです。
import ( "fmt" "image" "image/png" "image/jpeg" "os" )
画像の読み取りは、画像を表示するための最初のステップです。 Golang では、image.Decode()
関数を使用してファイルから画像を読み取ることができます。この関数は、画像を表す image.Image
インターフェイスを返します。以下は、png 形式で画像を読み取るためのコードです:
file, err := os.Open("image.png") if err != nil { panic(err) } defer file.Close() img, err := png.Decode(file) if err != nil { panic(err) }
画像を jpeg 形式で表示したい場合は、png.Decode(file)
を jpeg.Decode に置き換えるだけです。 ( ファイル)###。
gonum.org/v1/plot/vg パッケージを使用してウィンドウを作成できます。以下はウィンドウを作成するコードです:
import ( "gonum.org/v1/plot/vg" ) // 设置窗口大小 width := 600 height := 800 canvas := vg.NewScaledCanvas(vg.Length(width), vg.Length(height))
width と
height を変更することでウィンドウ サイズを設定できます。
DrawImage() 関数を使用して画像をキャンバスに描画できます。以下は画像を描画するコードです:
import ( "gonum.org/v1/plot/vg/draw" ) // 计算图片的位置 x := vg.Points(0) y := vg.Points(0) // 将图片绘制到画布上 draw.CropTop(draw.CropRight(draw.CropBottom(draw.CropLeft(canvas, x), y), vg.Length(img.Bounds().Max.X)), vg.Length(img.Bounds().Max.Y)), img)画像を描画するには、画像の位置を指定する必要があります。この例では、キャンバスの左上隅に画像を描画してから、画像全体を描画します。
import ( "github.com/go-gl/glfw/v3.2/glfw" ) // 创建窗口并显示 window := glfw.NewWindow(width, height, "My Window", nil, nil) window.SetTitle("Display Image Demo") // 显示画布 window.SetSizeCallback(func(w *glfw.Window, width int, height int) { canvas.SetCanvasSize(vg.Length(width), vg.Length(height)) }) window.MakeContextCurrent() for !window.ShouldClose() { window.SwapBuffers() glfw.PollEvents() }ウィンドウを表示するには、
glfw を使用してウィンドウを作成し、キャンバスをウィンドウに描画します。最後に、
window.ShouldClose() を使用して、ウィンドウを閉じる必要があるかどうかを確認します。
以上がGolangで画像を表示する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。