問題タブ [gd]
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 での効率的な JPEG 画像のサイズ変更
PHPで大きな画像のサイズを変更する最も効率的な方法は何ですか?
現在、GD関数 imagecopyresampled を使用して高解像度の画像を取得し、Web 表示用のサイズ (幅約 700 ピクセル、高さ 700 ピクセル) にきれいにサイズ変更しています。
これは、小さな (2 MB 未満の) 写真でうまく機能し、サーバー上でのサイズ変更操作全体に 1 秒もかかりません。ただし、このサイトは最終的に、サイズが 10 MB までの画像 (またはサイズが 5000x4000 ピクセルまでの画像) をアップロードする写真家にサービスを提供する予定です。
大きな画像でこの種のサイズ変更操作を行うと、メモリ使用量が大幅に増加する傾向があります (大きな画像では、スクリプトのメモリ使用量が 80 MB を超えることがあります)。このサイズ変更操作をより効率的にする方法はありますか? ImageMagickなどの代替画像ライブラリを使用する必要がありますか?
現在、サイズ変更コードは次のようになっています
php - GD を使用して、アップロードされた画像のサイズを変更して PNG に変換するにはどうすればよいですか?
ユーザーがアバタータイプの画像をさまざまな形式 (少なくとも GIF、JPEG、および PNG ) でアップロードできるようにしたいのですが、それらをすべてPNG データベース BLOBとして保存します。画像がピクセル単位で大きすぎる場合は、DB 挿入の前にサイズを変更したいと考えています。
GD を使用してサイズ変更と PNG 変換を行う最良の方法は何ですか?
編集:悲しいことに、私が使用する必要があるサーバーではGDのみが利用可能であり、 ImageMagickは利用できません。
php - PHP の GDlib imagecopyresampled を使用する場合、PNG 画像の透過性を維持できますか?
次の PHP コード スニペットは、GD を使用して、ブラウザーにアップロードされた PNG のサイズを 128x128 に変更します。私の場合、元の画像の透明な領域が単色の黒に置き換えられていることを除いて、それはうまく機能します。
設定されていてもimagesavealpha
、何かが正しくありません。
リサンプリングされた画像の透明度を維持する最良の方法は何ですか?
php - PHP GD、imagecreatefromstring(); 画像の寸法を取得する方法は?
通常、私はimagecreatefromjpeg()
それからを使用しますgetimagesize()
が、Firefox3ではこれを別の方法で回避する必要があります。だから今私は使用してimagecreatefromstring()
いますが、どうすれば画像の寸法を取得できますか?
php - PHP と GD を使用して生成された画像が切り捨てられています
これはライブサーバーでのみ発生します。複数の開発サーバーでは、イメージは期待どおりに作成されています。
ライブ: レッドハット
GD サポート => 有効な GD バージョン => バンドル (2.0.34 互換)
開発者: Ubuntu 8
GD サポート => 有効な GD バージョン => 2.0 以降
完璧な世界では、ライブ サーバーと開発サーバーが同じディストリビューションを実行することを望みますが、ライブ サーバーは Red Hat でなければなりません。
私の質問は、バンドルされたバージョンの GD を使用して画像の右端が切り取られる特定の違いを知っている人はいますか?
編集:メモリが不足していません。ログ ファイルに生成されるエラーはありません。PHPに関する限り、画像は正しく生成されています。そのため、同梱版の GD 固有の問題であると考えています。
php - PHP の GD ライブラリを使用して画像に継ぎ目を彫る方法は?
PHP の GDライブラリを使用して画像のサイズを変更するプロジェクトに取り組んでいます。シームカービングを使用して画像のサイズを変更するオプションを追加できるようにしたいのですが、これを達成するためにImageMagick (リキッドリスケール機能でシームカービングを行うことができます)のようなものは必要としません。
GD には組み込みのシーム カービング関数がないため、PHP の GD ライブラリまたはその他の組み込みの PHP 関数を使用して画像にシーム カービングを実行する方法はありますか? あるいは、シームカービングが最終的に GD に組み込まれるかどうか知っていますか?
php - ローカル ファイルとして保存せずにイメージを作成する
これが私の状況です-ユーザーがアップロードした画像からサイズ変更された jpeg 画像を作成し、それを S3 に送信して保存したいのですが、サイズ変更された jpeg をディスクに書き込んで S3 要求のために再ロードすることを避けたいと考えています。
JPEG形式の画像データを変数に保存して、メモリ内でこれを完全に行う方法はありますか?
php - PHP 関数 imagettftext() とユニコード
PHP 関数 imagettftext() を使用して、テキストを GIF 画像に変換しています。変換中のテキストに、日本語を含む Unicode 文字が含まれています。ローカル マシン (Ubuntu 7.10) ではすべて正常に動作しますが、Web ホスト サーバーでは日本語の文字が壊れています。違いの原因は何ですか?すべてを UTF-8 でエンコードする必要があります。
ウェブホスト サーバー上の壊れた画像: http://www.ibeni.net/flashcards/imagetest.php
ローカル マシンからの正しい画像のコピー: http://www.ibeni.net/flashcards/imagetest.php.gif
私のローカル マシンからの phpinfo() のコピー: http://www.ibeni.net/flashcards/phpinfo.php.html
ウェブホスト サーバーからの phpinfo() のコピー: http://example5.nfshost.com/phpinfo
コード:
php - BiCubic Shaper PHP 画像のサイズ変更
Photoshop には、サイズ変更のための BiCube Shaper オプションという優れた機能があります。
しかし、私は同等のものを見つけることができません。
imagecopyresampled とカスタム アンシャープ マスクを使用した GD を使用したさまざまなコードを見てきましたが、期待する品質にはほど遠いものでした。
何か助けはありますか?