-2
私は、プログラムでPNGの色を変更する方法を探しています。 これまでのところ、私が見たすべての解決策は、getpixelを使ってピクセル単位で行っています。 実際には、透明な背景の画像の前景色を変更したいだけです。これは可能ですか?特定の色のすべてのピクセルで簡単に変更を行うことができるパレットがありますか?png画像の色を変更する
私は、プログラムでPNGの色を変更する方法を探しています。 これまでのところ、私が見たすべての解決策は、getpixelを使ってピクセル単位で行っています。 実際には、透明な背景の画像の前景色を変更したいだけです。これは可能ですか?特定の色のすべてのピクセルで簡単に変更を行うことができるパレットがありますか?png画像の色を変更する
パレットが存在するかどうかは、PNGのcolortypeに依存します。 ColorTypeですが3である場合がありPLTEチャンクに含まれるパレットがあり、そしてあなたは、プログラムの手順実行して、それを変更することができます。PLTEチャンク
colortypeが0または2の場合、tRNSチャンクを追加してフォアグラウンドカラーを透明にすることはできますが、それらのピクセルの基本色を新しい背景色に変更するには、あなたが既に観察したように、それはピクセルごとに表示されます。
フォアグラウンドカラーを変更する必要はありません。透明にすると、RGBコンポーネントの内容は実際には問題にならないためです。