Golang の画像操作: 画像の拡大縮小と回転の方法を学ぶ
現代のソフトウェア開発では、画像処理が一般的な要件です。 Web サイトの UI デザインであっても、モバイル アプリケーションのグラフィック表示であっても、ニーズを満たすために画像の拡大縮小や回転が必要になることがよくあります。この記事では、Golang を使用して画像の拡大縮小と回転の操作を実行する方法を学び、対応するコード例を添付します。
画像処理を実行するには、まず Golang の画像と描画パッケージをインポートする必要があります。次のコマンドを使用して、これら 2 つのパッケージをインポートします。
import ( "image" "image/draw" )
次に、イメージをロードする必要があります。 Golang には、画像を簡単に操作するための画像パッケージが用意されています。以下に示すように、image.Decode
関数を使用して、画像ファイルを image.Image オブジェクトにデコードできます。
file, _ := os.Open("image.jpg") defer file.Close() img, _, _ := image.Decode(file)
これで、画像の読み込みに成功しました。次に学習します。画像のサイズを変更する方法。画像を拡大縮小する方法は、新しいキャンバスを作成し、その上に拡大縮小した画像を描画することです。 draw.AboutBiLinear.Scale
関数を使用してスケーリング操作を実装できます。コード例は次のとおりです:
scaledWidth := 500 scaledHeight := 500 scaledImg := image.NewRGBA(image.Rect(0, 0, scaledWidth, scaledHeight)) draw.ApproxBiLinear.Scale(scaledImg, scaledImg.Bounds(), img, img.Bounds(), draw.Src, nil)
上の例では、次のサイズの新しいキャンバスを作成しました。 500x500 ピクセルで draw.AboutBiLinear.Scale
関数を使用すると、元のイメージが新しいキャンバスに描画されます。この関数は、ターゲット キャンバスのサイズに応じて画像を自動的に拡大縮小します。draw.Src
パラメーターを通じて、画像を描画するためのアルゴリズムを指定できます。
次に、画像を回転する方法を学びます。画像を回転するには、Golang の draw.Rotate
関数を使用する必要があります。画像を指定した角度で回転させる機能です。コード例は次のとおりです。
angle := 45 rotatedImg := image.NewRGBA(image.Rect(0, 0, img.Bounds().Max.X, img.Bounds().Max.Y)) draw.Rotate(rotatedImg, img.Bounds(), img, img.Bounds().Max, float64(angle)*math.Pi/180)
上の例では、元の画像と同じ寸法で新しいキャンバスを作成し、draw.Rotate
関数を使用して元の画像を描画します。優れた新しいキャンバスへ。 angle
パラメータを調整することで、回転角度を指定できます。
これまで、Golang を使用して画像を拡大縮小したり回転したりする方法を学習しました。これらの簡単なコード例を通じて、独自のプロジェクトでのさまざまな画像操作のニーズに簡単に対処できます。もちろん、Golang の画像および描画パッケージは、トリミングやグラフィックスの描画など、より強力な画像処理機能も提供します。読者は、より多くの画像処理のニーズを満たすためにさらに深く学習し続けることができます。
この記事が、困っている読者の役に立ち、Golang 画像処理のスキルを向上させることができれば幸いです。ご質問やご提案がございましたら、メッセージを残してご連絡ください。ありがとう!
以上がGolang の画像操作: 画像の拡大縮小と回転の方法を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

インターフェースアンドポリマスを導入することは、codeReusablivedainability.1)defineinterfacesattherightabstractionlevel.2)useinterfacesfordependencyinjection.3)profilecodetAnageperformanceImpacts。

initistingorunsoutomativiviseativeatializepackages andsetuptheenvironment.it'susefulforstingupglobalvariables、resources、およびperformingone-tastasksacrossanypackage.hoer'showitworks:1)Itcanbeusedinpackage、not not-justhe、

インターフェイスの組み合わせは、関数を小さな焦点を絞ったインターフェイスに分解することにより、GOプログラミングで複雑な抽象化を構築します。 1)リーダー、ライター、およびより近いインターフェイスを定義します。 2)これらのインターフェイスを組み合わせて、ファイルやネットワークストリームなどの複雑なタイプを作成します。 3)ProcessData関数を使用して、これらの組み合わせインターフェイスを処理する方法を示します。このアプローチはコードの柔軟性、テスト可能性、再利用性を高めますが、過度の断片化と組み合わせの複雑さを避けるために注意する必要があります。

intionsingoareautomativitiveedemain foreThemain foreThemaindareusefurfurforseTup butChallenges.1)実行命令:rundistionsrunindediontionOrder.2)テスト:テスト:in functionsMayInterwithests、b

記事では、GOのマップを介して反復し、安全なプラクティスに焦点を当て、エントリを変更し、大規模なマップのパフォーマンスに関する考慮事項に焦点を当てています。

この記事では、GOの配列とスライスの違いについて説明し、サイズ、メモリの割り当て、機能の合格、および使用シナリオに焦点を当てています。アレイは固定サイズで、スタックに挿入されていますが、スライスは動的で、しばしばヒープアロークされ、より柔軟です。

この記事では、リテラル、メイク機能、既存のアレイまたはスライスのスライスなど、GOのスライスの作成と初期化について説明します。また、スライスの構文とスライスの長さと容量の決定もカバーします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









