問題タブ [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.

0 投票する
6 に答える
31308 参照

php - 背景が透明な PHP イメージコピー

このコードを使用して、別の png 画像から画像を作成します。背景はデフォルトで黒です。私の質問は、透明な背景を設定する方法ですか?

これを行う簡単な方法はありますか?ありがとう

0 投票する
1 に答える
7151 参照

php - PHPでGD関数imagecreatefrom*を使用するときに「有効な画像ファイルではありません」というエラーが発生しないようにするにはどうすればよいですか?

アップロードされた画像で imagecreatefromgif / imagecreatefromjpeg / imagecreatefromjpeg 関数を使用していますが、画像が破損している場合にエラー (例: 警告: imagecreatefromgif(): ... は有効な GIF ファイルではありません) が発生することがあります。このトピックに関する多くの投稿を読みましたが、「有効な」答えが見つかりませんでした。

画像を検証するために次のいくつかを試しました(他の投稿で提案されているように)が、すべての状況で機能するものはありませんでした. 画像にヘッダー情報が含まれていない場合、次の方法は機能しますが、画像にヘッダー/MIME タイプ情報が含まれていて破損している場合は機能しません。

また

また

getimagesize($uploaded_image) の使用; // 画像が有効でない場合は false またはエラーを返します。

これらの状況のいずれも、ヘッダー情報/MIME タイプ情報を持つ破損した画像ファイルでは機能しませんでした。

これらのエラーが発生するのを防ぎ、可能であれば、画像が破損しておらず、imagecreatefromgif / imagecreatefromjpeg / imagecreatefromjpeg 関数のいずれでも問題なく使用できるかどうかを検出したいと考えています。破損している場合は、関数を実行する代わりにエラー メッセージを表示したいと考えています。PHPで解決策を探しています。

あなたの助けと提案に感謝します。

0 投票する
1 に答える
3500 参照

php - この画像はサイズ変更後にぼやけます

この写真をアップロードしてサイズを変更した後、品質が少しぼやけていることに気付きました.なぜこれが起こるのですか? 十分なスペースがありますが、他に何が問題になる可能性がありますか?

オリジナル、

ここに画像の説明を入力

リサイズ後、

ここに画像の説明を入力

しかし、私がアップロードした他の写真はまったく問題ありません。この写真だけなんでこうなるの?

以下のリサイズ機能が原因でしょうか?

0 投票する
2 に答える
5052 参照

php - PHP imagecreate()一般的に使用されるファイル形式のPNG?

現在、PNG、JPG / JPEG、GIF画像のみを受け入れる画像アップロード入力があります。ファイルが有効な場合は、次を使用して画像からサムネイルを作成します。

これは問題なく機能しますが、明らかにpng画像の場合のみです。

送信された適切なファイル形式を使用する以外に、「imagecreatefrompng()」を使用する最も論理的で効率的な方法は何ですか?私が考えることができるのは、複数の「imagecreatefrom_ _()」を使用するif / elseだけですが、それは正しくないようです。

また、現在のimagejpg()の代わりに、送信されたものに関係なく、出力形式を常にPNGにするにはどうすればよいですか。

0 投票する
1 に答える
67 参照

php - 複数のイメージをベース イメージとマージする

このコードを使用して、2 つの画像をマージします。誰かが 2 つのソース イメージを 1 つのベース イメージにマージするのを手伝ってくれませんか。たとえば。これらの画像 base.jpg、image1.jpg、image2.jpg があります。image1.jpg と image2.jpg を base.jpg にマージしたい。このコードを使用して、2 つの画像をマージしています。

0 投票する
1 に答える
438 参照

php - Imagecreatefrompng()-接続がリセットされましたエラー

gd関数を含むコードをWebサイトにインストールしました。デバッグした後、私は次の結論に達しました

コードを次のように変更しても、サーバーは「接続がリセットされました」と応答します。

同じエラーが発生します。PHPのバージョンを確認し、gdライブラリがインストールされて有効になっているかどうかを確認しましたが、すべて問題ありません。error_logには何もありません。また、ファイルパスは問題なく、ファイルは存在し、他の関数(fopenやfile_get_contentsなど)がファイルにアクセスできるため、権限に問題はありません。

誰かアイデアがありますか?

編集:ファイルはローカルサーバー上にあります。

0 投票する
1 に答える
2362 参照

php - imagecreatefrompng()とサイズ制限

PHPの関数imagecreatefrompng()で問題が発生しました。

私は、ユーザーが自分のスプライトコミック(ビデオゲームから抽出されたリソースで作成されたスプライトと呼ばれる種類のコミック)をアップロードできるようにすることを目的としたWebサイトを開発しています。

彼らのギャラリーに彼らの漫画のミニチュアをいくつか表示したいので、GDともちろんimagecreatefrompng()を使用します。

しかし、大きな画像では致命的なエラーが発生します。

致命的なエラー:メモリ不足(8388608が割り当てられています)(4545600バイトを割り当てようとしました)

ini_set ()で「memory_limit」の値を設定した後も同じエラーが発生します。

数時間の調査の結果、解像度が原因のようです。imagecreatefrompng()は、1 040 000ピクセルを超える画像を管理できません...!

ユーザーから送られる漫画のサイズを制限できないので、とても不便です...

この問題を解決するためのヒントを知っていますか?

事前にThnaks!

0 投票する
1 に答える
597 参照

php - PHP: 透明な背景

出力:

http://i.stack.imgur.com/0E7Lz.png

"johnny-bravo" の背景を透明にするにはどうすればよいですか?

0 投票する
3 に答える
14206 参照

image - 指定された PNG 画像からピクセル値を抽出しようとしています

PNG形式を理解しようとしています。

このPNG画像を検討してください:

ここに画像の説明を入力

画像はこちらから

Hex Editor では、次のようになります。

同等の文字:

次の HEX エディタのスクリーンショットにも同じことが示されています。

ここに画像の説明を入力

この画像をリバース エンジニアリングして、ヘッダー部分と RGB ピクセル値を抽出しようとしています。PNGhereについて読みましたが、これまでのところ、この画像について次のことに注意しました。

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 として記述できますか?

0 投票する
1 に答える
8445 参照

php - php画像を作成し、それに背景画像を追加します

PHPコードで作成した画像に背景画像として画像を追加したい

画像は同じサーバー上にあります

http://www.example.com/img/sitebg.png

私が試したこと