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 サイトの他の関連記事を参照してください。