目次
質問内容
解決策
ホームページ バックエンド開発 Golang 2 ビットの色深度でパレット化された PNG を開くことができる Go 用のライブラリはありますか?

2 ビットの色深度でパレット化された PNG を開くことができる Go 用のライブラリはありますか?

Feb 09, 2024 pm 11:30 PM
言語を移動

Go 是否有可以打开 2 位颜色深度的调色板 png 的库?

php Editor Xigua Go は強力なプログラミング言語ですが、2 ビット色深度のパレット PNG を開くことができるライブラリはありますか?答えは「はい」です。 Go 言語には、画像を操作するためのライブラリとツールが多数あり、その一部は特定の深さでパレット化された PNG 画像を開いて処理できます。これらのライブラリを使用すると、2 ビットの色深度でパレット化された PNG イメージを簡単に読み取り、編集でき、アプリケーションに機能と柔軟性が追加されます。初心者でも経験豊富な Go 開発者でも、これらのライブラリは、より優れた画像処理および編集機能を提供して目標を達成するのに役立ちます。

質問内容

goを使ってパレットベースのpng画像を読み込むにはどうすればよいですか?

Python の画像の場合は、次のようにするだけです:

リーリー

go を使用:

リーリー

デコード時に「png: 無効な形式: png ファイルではありません」がスローされます。

Mac シェルで file コマンドを使用すると、次のように表示されます:

リーリー

vscode は画像を非常にうまくレンダリングします。

Adobe Illustrator で作成した画像と次のコードで生成した画像の両方でこれを試しました。どちらでも同じエラーが発生します:

from pil import image

im = image.open('image.png')
pix = im.load()
for i in range(100):
    for j in range(100):
        print(pix[i, j])
ログイン後にコピー

解決策

あなたの場合、それは画像の形式ではなく、画像ファイルの使用方法にあるようです。

最初に image.DecodeConfig() に渡していると思います (コードには表示されていませんが、cfg は初期化されているはずです)、次に に渡します。 image.Decode()

問題は、最初の呼び出しの後、ファイルにはオフセットがあるのに、2 番目の呼び出しではファイルの先頭から読み取っていると想定されていることです。

この問題は、構成を読み取った後にファイルをロールバックすることで解決できます:

File.Seek(0, io.SeekStart)

以上が2 ビットの色深度でパレット化された PNG を開くことができる Go 用のライブラリはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

golang でリフレクションを使用してプライベート フィールドとメソッドにアクセスする方法 golang でリフレクションを使用してプライベート フィールドとメソッドにアクセスする方法 May 03, 2024 pm 12:15 PM

golang でリフレクションを使用してプライベート フィールドとメソッドにアクセスする方法

golang 関数で新しい関数を動的に作成するためのヒント golang 関数で新しい関数を動的に作成するためのヒント Apr 25, 2024 pm 02:39 PM

golang 関数で新しい関数を動的に作成するためのヒント

Go 言語でのパフォーマンス テストと単体テストの違い Go 言語でのパフォーマンス テストと単体テストの違い May 08, 2024 pm 03:09 PM

Go 言語でのパフォーマンス テストと単体テストの違い

Golang テクノロジーを使用して分散システムを設計する場合、どのような落とし穴に注意する必要がありますか? Golang テクノロジーを使用して分散システムを設計する場合、どのような落とし穴に注意する必要がありますか? May 07, 2024 pm 12:39 PM

Golang テクノロジーを使用して分散システムを設計する場合、どのような落とし穴に注意する必要がありますか?

機械学習で使用される Golang テクノロジー ライブラリとツール 機械学習で使用される Golang テクノロジー ライブラリとツール May 08, 2024 pm 09:42 PM

機械学習で使用される Golang テクノロジー ライブラリとツール

モバイルIoT開発におけるGolangテクノロジーの役割 モバイルIoT開発におけるGolangテクノロジーの役割 May 09, 2024 pm 03:51 PM

モバイルIoT開発におけるGolangテクノロジーの役割

golang 変数パラメータは関数の戻り値に使用できますか? golang 変数パラメータは関数の戻り値に使用できますか? Apr 29, 2024 am 11:33 AM

golang 変数パラメータは関数の戻り値に使用できますか?

golang 関数の命名規則の進化 golang 関数の命名規則の進化 May 01, 2024 pm 03:24 PM

golang 関数の命名規則の進化

See all articles