問題タブ [libpng]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - libpng を使用して、画像のリストのサイズを変更 (バイキュービック) します
libpng & png++ を使用して画像にバイキュービック サイズ変更を適用する方法が説明されているチュートリアルを教えてもらえますか? 何かを探すのに 3 時間近く費やしましたが、見つかりません。たぶん、どこを見たらいいのかわからないからです。
画像 ( 48 ビット画像) を で読み取り、出力用libpng
に に読み取りQImage
ます。画像に使用するQImage::scaled
と、ピクセル情報が失われ、画像は必要なものには役に立ちません。
私は png::rgba_pixel_16 ピクセルで画像を読み込んで操作します - 次のように読みます:
png::image< png::rgba_pixel_16 > myImage(myFile.toAscii());
別の答えを引用:
QImage にはコンポーネントあたり 16 ビットのフォーマットはありません。あなたが得ることができる最大のものは、コンポーネントあたり8ビットの QImage::Format_ARGB32 です。8 ビット インデックス モードを使用した場合でも、カラー テーブルはコンポーネントごとに 8 ビットを超えてサポートしません。さらに、QImageIOHandler クラスは QImage に関して機能するため、残念ながら、カラー コンポーネントごとに 16 ビットで機能するカスタム イメージ フォーマット プラグインを作成することはできません。
最後の引用は、これに QImage を使用できない理由を説明しています。
c++ - libPNG 64ビットはありますか?
libPNGに問題があり、64ビットコンピューターでアプリケーションを実行するには64ビットバージョンのlibPNGが必要であると考えています。エラーはIMG_Load: Failed loading libpng15-15.dll: %1 is not a valid Win32 application.
、このサイトの他のいくつかの投稿によると、これが32ビットDLLであるという事実ですが、それは問題ですか?
ios - Xcode 4.3.1を使用したアーカイブアプリでpngcrushがlibpngエラーをキャッチしました:
このアプリは、シミュレーターとデバイスで正常に構築されます。しかし、提出のためにアーカイブしようとするとすぐに、次のようになります。/ Users / adga / Documents / Adams Lokalt /Appar/NUSÅ/VertragingsApp/ Rotation / Customization / Herfst2011 / .. / .. / .. / default @ 2x.png pngcrushがlibpngエラーをキャッチしました:PNG符号なし整数が範囲外です。
フォトショップで開いて(インターレースなしで)交換しようとしましたが、機能しません。
何か案は?
c++ - libpng-1.2.46-2 Fedora Core 16 のデバッグ -- .PNG の最初の 8 ビットが libpng を通過しない
次のコードは、libpng のドキュメントからそのまま引用しています。また、このコードが何らかの用途に使用される場合、このコードは gtkmm ベースのアプリケーションから呼び出されるクラス内にあります。
debuginfo をインストールし、コマンド ラインから gdb を実行しました。コードをステップ実行して、png_sig_cmp()
GIMP で作成した png の最初の 8 ビットと、インターネットからダウンロードした他のいくつかの .png ファイルが png によって認識されていないと関数が言っている理由を確認しました。gdb からの出力が、私よりもあなたにとって有益であることを願っています。
png_sig_cmp
関数から返されるスタック トレースは次のとおりです。
c++ - libpng の C++ 抽象化により、malloc でクラッシュが発生する -- 「ギザギザ」の 2D 配列の削除中に
このクラッシュに対応するクラスは次のとおりです。
そして、それは次のように使用されます。
デバッガーでステップ実行すると、ImageData クラスの _m_rData は、new を使用したときと同じポインターになります。if == NULL ステートメントを使用して、ImageData デストラクタ内に delete ステートメントをラップしようとさえしました。ただし、コードの実行中にまだ sigabrt が発生します。gdb からのスタック トレースは次のとおりです。
アップデート
好奇心旺盛な人にとっては、次のことが機能するようになりました。どうやらpng_alignsのデータに問題があるようです。これにより、新しいものではなく、内部的に free と malloc を使用する libpng のメソッド呼び出しを使用する必要があると思います。これは基本的に、データが data = new type[N] で作成された場所で free(data) を呼び出すことと同じです。以下のコードは、libpng を正しく使用する方法を示しています。
xcode - Windowsでpngcrushを使用してXCode圧縮を元に戻しますか?
IPA ファイルから抽出された png 画像がいくつかあり、元の PNG を取得したいのですが、pngcushが必要なタスクを実行したとアドバイスされたので、ダウンロードして次のコマンドを実行してみました。
しかし、libpng エラーが発生します。libpng もダウンロードする必要があるかどうかはわかりません。エラーには別のバージョンの libpng が必要であるとは書かれていないため、次のように表示されます。
私もこれを試しました:
そして、pngcrush はコマンドを知らなかったかのように動作します。
何をすべきかについてのアイデアはありますか?
c - libpngでpngファイルを読み込めません
私はlibpngを初めて使用し、ドキュメントは私にとって本当に混乱しています。以下は動作していない私のコードで、その理由がわかりません。誰かが私を正しい方向に向けることができますか? または別の(「より簡単な」)ライブラリを提案しますか?
libpngを理解する方法:
fopen
inrb
モードでファイルを開くpng_structp
で作成png_create_read_struct
png_infop
で作成png_create_info_struct
スペースを割り当てる
データを読む
/li>
warnings - libpng警告:不適切な適応フィルタータイプを無視します
私のアプリは強制終了され、ログ:libpng警告:不適切な適応フィルタータイプを無視します。理由と解決策を知りたい。
c++ - `png_read_info' への未定義の参照
I m trying to compile source code, but receive:
undefined reference to
png_read_info' ファイル ヘッダー: #include "PngImage.hh"
私のコンパイラ設定: -I/usr/include/libxml2 -I/usr/include/osmpbf -O0 -g3 -Wall -c -fmessage-length=0 -lpng
私が間違っていることは何ですか?
更新: リンクしようとしています: -I/usr/include/libxml2 -I/usr/include/osmpbf -O0 -g3 -Wall -c -fmessage-length=0 -L/usr/include/libpng -lpng
ライブラリ libpng は既にインストールされています。再び受信した変更はありません: png_read_info への未定義の参照
修理済み。私の大きな間違い。リンカ設定ではなく、eclipse でコンパイラ設定を設定しました。回答ありがとうございます
c - libpng-エラー:PNGファイルではありません-png_process_data()
libpngを使用してプログレッシブリーダーを作成しようとしています。libpngソースで提供されているexample.cのコードに従おうとしましたが、機能しません。libpngdocも見てきました。png_set_progressive_read_fn()
これは、に関連して使用するように指示しますpng_process_data()
。ドキュメントで指定されているように設定した後。pngファイルを読み取るプロセスを開始すると、libpngから次のエラーが発生します。
PNGファイルではありません
コードをステップスルーするpng_process_data()
と、PNGファイルの署名を確認すると、それがpngファイルではないことがわかります。読み取り関数を呼び出す前に、ファイルが次のコードを含むPNGファイルであることを確認するため、これは非常に特殊な動作です。
を閉じてFILE*
から、read関数で新しいものを再度開くので、libpngに。ですでに8バイトを読み取ったことを通知する必要はありませんpng_set_sig_bytes(png_ptr, 8);
。私の読み取り機能は次のとおりです。
また、(非プログレッシブリーダー)に非プログレッシブリーダーの動作バージョンがあります。私のファイルでは問題なく動作します。したがって、私のファイルには問題はありません。
完全なコード
Makefile