問題タブ [imagecreatefrompng]
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.
php - 背景が透明な PHP イメージコピー
このコードを使用して、別の png 画像から画像を作成します。背景はデフォルトで黒です。私の質問は、透明な背景を設定する方法ですか?
これを行う簡単な方法はありますか?ありがとう
php - PHPでGD関数imagecreatefrom*を使用するときに「有効な画像ファイルではありません」というエラーが発生しないようにするにはどうすればよいですか?
アップロードされた画像で imagecreatefromgif / imagecreatefromjpeg / imagecreatefromjpeg 関数を使用していますが、画像が破損している場合にエラー (例: 警告: imagecreatefromgif(): ... は有効な GIF ファイルではありません) が発生することがあります。このトピックに関する多くの投稿を読みましたが、「有効な」答えが見つかりませんでした。
画像を検証するために次のいくつかを試しました(他の投稿で提案されているように)が、すべての状況で機能するものはありませんでした. 画像にヘッダー情報が含まれていない場合、次の方法は機能しますが、画像にヘッダー/MIME タイプ情報が含まれていて破損している場合は機能しません。
また
また
getimagesize($uploaded_image) の使用; // 画像が有効でない場合は false またはエラーを返します。
これらの状況のいずれも、ヘッダー情報/MIME タイプ情報を持つ破損した画像ファイルでは機能しませんでした。
これらのエラーが発生するのを防ぎ、可能であれば、画像が破損しておらず、imagecreatefromgif / imagecreatefromjpeg / imagecreatefromjpeg 関数のいずれでも問題なく使用できるかどうかを検出したいと考えています。破損している場合は、関数を実行する代わりにエラー メッセージを表示したいと考えています。PHPで解決策を探しています。
あなたの助けと提案に感謝します。
php - この画像はサイズ変更後にぼやけます
この写真をアップロードしてサイズを変更した後、品質が少しぼやけていることに気付きました.なぜこれが起こるのですか? 十分なスペースがありますが、他に何が問題になる可能性がありますか?
オリジナル、
リサイズ後、
しかし、私がアップロードした他の写真はまったく問題ありません。この写真だけなんでこうなるの?
以下のリサイズ機能が原因でしょうか?
php - PHP imagecreate()一般的に使用されるファイル形式のPNG?
現在、PNG、JPG / JPEG、GIF画像のみを受け入れる画像アップロード入力があります。ファイルが有効な場合は、次を使用して画像からサムネイルを作成します。
これは問題なく機能しますが、明らかにpng画像の場合のみです。
送信された適切なファイル形式を使用する以外に、「imagecreatefrompng()」を使用する最も論理的で効率的な方法は何ですか?私が考えることができるのは、複数の「imagecreatefrom_ _()」を使用するif / elseだけですが、それは正しくないようです。
また、現在のimagejpg()の代わりに、送信されたものに関係なく、出力形式を常にPNGにするにはどうすればよいですか。
php - 複数のイメージをベース イメージとマージする
このコードを使用して、2 つの画像をマージします。誰かが 2 つのソース イメージを 1 つのベース イメージにマージするのを手伝ってくれませんか。たとえば。これらの画像 base.jpg、image1.jpg、image2.jpg があります。image1.jpg と image2.jpg を base.jpg にマージしたい。このコードを使用して、2 つの画像をマージしています。
php - Imagecreatefrompng()-接続がリセットされましたエラー
gd関数を含むコードをWebサイトにインストールしました。デバッグした後、私は次の結論に達しました
コードを次のように変更しても、サーバーは「接続がリセットされました」と応答します。
同じエラーが発生します。PHPのバージョンを確認し、gdライブラリがインストールされて有効になっているかどうかを確認しましたが、すべて問題ありません。error_logには何もありません。また、ファイルパスは問題なく、ファイルは存在し、他の関数(fopenやfile_get_contentsなど)がファイルにアクセスできるため、権限に問題はありません。
誰かアイデアがありますか?
編集:ファイルはローカルサーバー上にあります。
php - imagecreatefrompng()とサイズ制限
PHPの関数imagecreatefrompng()で問題が発生しました。
私は、ユーザーが自分のスプライトコミック(ビデオゲームから抽出されたリソースで作成されたスプライトと呼ばれる種類のコミック)をアップロードできるようにすることを目的としたWebサイトを開発しています。
彼らのギャラリーに彼らの漫画のミニチュアをいくつか表示したいので、GDともちろんimagecreatefrompng()を使用します。
しかし、大きな画像では致命的なエラーが発生します。
致命的なエラー:メモリ不足(8388608が割り当てられています)(4545600バイトを割り当てようとしました)
ini_set ()で「memory_limit」の値を設定した後も同じエラーが発生します。
数時間の調査の結果、解像度が原因のようです。imagecreatefrompng()は、1 040 000ピクセルを超える画像を管理できません...!
ユーザーから送られる漫画のサイズを制限できないので、とても不便です...
この問題を解決するためのヒントを知っていますか?
事前にThnaks!
image - 指定された PNG 画像からピクセル値を抽出しようとしています
PNG形式を理解しようとしています。
このPNG画像を検討してください:
画像はこちらから
Hex Editor では、次のようになります。
同等の文字:
次の HEX エディタのスクリーンショットにも同じことが示されています。
この画像をリバース エンジニアリングして、ヘッダー部分と RGB ピクセル値を抽出しようとしています。PNGとhereについて読みましたが、これまでのところ、この画像について次のことに注意しました。
IHDR チャンクは最初に表示される必要があります。を含む:
以下では、HEX データを順番に読み始めています。
1- 最初の 8 バイト: これは 8 バイトの署名です。
同様に、これは次のとおりです。HEX エディターで表示される %PNG
有効な PNG イメージには、IHDR チャンク、1 つ以上の IDAT チャンク、および IEND チャンクが含まれている必要があります。
2- チャンク: 長さ
3チャンク:チャンクタイプ
これがIHDRです。
http://www.w3.org/TR/PNG-Chunks.html
4- チャンク: 画像の幅 (10 進数 128)
5- チャンク: 画像の高さ (10 進数 68)
6- チャンク: BIT DEPTH (1 バイト)
7- チャンク: カラータイプ
8-圧縮方法
9- フィルター方法:
10- インターレース方式:
11- 次のデータは何ですか?
C6 25 AA 3E 00 00 00 C2
12-- IDAT
49 44 41 54
13- このデータは何ですか (IDAT 後):
78 5E ED D4 81 06 C3 30 14 40 D1 B7 34 DD FF FF 6F B3 74 56 EA 89 12 6C 28 73 E2 AA 34 49 03 87 D6 FE D8 7B 89 BB 52 8D 3B 87 FE 01 00 80 100 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 04 00 80 00 00 10 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 00 D4 5E 6A F 64 4B 9 C 4 C 5 C 94 F 94 3E CF 9C 3F 73 71 58 5F AF 8B 79 5B EE 96 B6 47 EB F1 EA D1 CE B6 E3 75 3B E6 B9 95 8D C7 CE 03 39 C9 AF C6 33 93 7B 66 37 CF AB BF F9 C9 2F 08 80 00 00 10 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 04 00 80 00 00 10 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 8C 37 DB 206 ED0 6 0 FB0 3 00 00
14- IEND:
49 45 4E 44
15 - 最後の 4 バイト
これは何 ?
上記のポイント11、13、および15を理解するのに役立つものはありますか? そして、ピクセル値はどこにありますか? 画像には(128 x 68ピクセル)があります
これらの詳細を知る目的:
これらの詳細がわかったら、独自の 16 ビット PNG 画像を生成します。私はすでにピクセル値を持っているので、私の仕事はヘッダーなどを導入する
ことです。この仕事を実行できるソフトウェアがあるかどうかはわかりません。
アップデート
圧縮が原因で、ピクセル値を特定できないことがわかりました。
OpenCVでファイルを書き込んでpngとして保存できるという考えが浮かびました。さて、私の直接の質問は次のとおりです。グレースケールの16ビットピクセル値を持つバイナリファイルがあります。これを OpenCV で 16 ビット PNG として記述できますか?