
掲題の件について質問です。
いま、PHPのGDライブラリを用いて大量の既存のイメージファイル(JPEG)から各三種類ほどのサムネイルを作成しているのですが一点問題があります。
既存のイメージを縮小してサムネイルを作成しているのですが、この元となる画像は
解像度72dpiの画像となるのですが、GDを用いて作成されたサムネイルは96dpiの解像度として作成されるのです。
故合ってdpiは72でなければなりません。
このPHPのGDライブラリで画像のDPIの指定は出来ないでしょうか?
識者の方、よろしければご教授ください。
お願い致します。
No.3ベストアンサー
- 回答日時:
ざっと検証してみましたが、Exifの問題みたいですね
GDの設定もみてみましたがちょっとパラメータがみつからなかったので
厳しいかも、imageMagickに切り替えるのが手っ取り早いでしょう。
書き方の差を吸収するには、前回も書きましたがPEARライブラリを
使うとよいでしょう。
また、Exifの29バイト目あたりからのバイナリデータをいじれば
いけそうですが、こればっかりはあまりお勧めはできません。
No.5
- 回答日時:
php online manual のuser note にdpi 変更法が有ります。
No2回答の方のあまりお薦めしないとあった、バイト列を直接書き換える方法ではありますが、関数にでもしておけば、あとは呼び出すだけですし。
固定で 72 dpi 指定にするなら、元画像のexif を読む必要もないので、これだけでよいのでは?
http://jp.php.net/manual/ja/function.imagejpeg.p …
No.4
- 回答日時:
はじめまして。
ご期待の回答ではないのですが、phpでサムネイルを作成してみたら、72dpiで作成されたので報告します。
<?php
$im = imagecreatefromjpeg("./*****.jpg");
$width0=350;
$width = ImageSX($im);
$height = ImageSY($im);
$new_image0 = ImageCreateTrueColor($width0, $height*($width0/$width));
$new_image1 = ImageCreateTrueColor($width0, $height*($width0/$width));
ImageCopyResized($new_image0,$im,0,0,0,0,$width0,$height*($width0/$width),$width,$height);
ImageCopyResampled($new_image1,$im,0,0,0,0,$width0,$height*($width0/$width),$width,$height);
imagejpeg($new_image0,"./im0.jpg",0,100);
imagejpeg($new_image1,"./im1.jpg",0,100);
?>
こんな感じで作成しました。元画像72dpi、作成された画像も72dpiでした。PHOTOSHOPCS5で確認しました。
私のPCはVista32Bit、PHPのバージョンは5.4.0(vc9)、ライブラリはphp_gd2.dllです。
解像度の変更はできないみたいですが、72dpiで作成できれば当面のお役には立てるかなと思いまして…
No.2
- 回答日時:
ざっと検証してみましたが、Exifの問題みたいですね
GDでは厳しいかも、imageMagickに切り替えるのが手っ取り早いでしょう。
差を吸収するには、前回も書きましたがライブラリを使うことになります。
Exifの29バイト目あたりからのバイナリデータをいじれば
いけそうですが、あまりお勧めはできません。
No.1
- 回答日時:
サムネイルにdpiを指定するくだりがよくわからないのですが
縦か横のサイズを指定してjpegを吐き出すのではいけないのでしょうか?
サムネイルをつくるだけならPEAR::image-transformあたりが
使いやすかったです。
ただGDよりimagemagicの方がきれいにサムネイルがつくれますね
参考URL:http://pear.php.net/manual/ja/package.images.ima …
この回答への補足
さっそくのお答えありがおうございます。
要望のあるサムネイルのdpiが72dpiと指定されているのです。
実際に、印刷などする場合をのぞきPC上でdpiは問題ではないですが
そういう、条件なので・・・。
GDで作ったサムネイルも画像のプロパテイから概要タブで実際の
dpiが確認できるので、確認したところ96dpiとなっていたので・・・。
なんとかして72dpiのサムネイルを作りたいと思っているのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
- YouTube YouTubeのサムネイル(静止画)を自分で選ぶか、作成したい 1 2022/07/03 15:37
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- マウス・キーボード Blenderで3dcg制作をしている初心者なのですが、 プロになるためには マウスはカウント(解像 1 2023/08/27 23:49
- フリーソフト アイコンとして保存アプリが不調 2 2022/04/16 06:39
- Visual Basic(VBA) ChatGPTに作らせたい Excel VBA 1 2023/04/05 19:56
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- Windows 10 Windows10の画像ファイルのサムネールがアイコン表示になってしまいました。 3 2022/07/09 13:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像の張りかたについて
-
iアプリ:スクラッチパッド
-
imagemagickトリミングで余白無...
-
ビットマップ画像を読み込むプ...
-
PHPで画像サイズの変更
-
設定した日時になったら更新
-
画像に文字を入れて出力
-
openCVの超解像処理
-
PHPでグラフを書く
-
phpで画像を縮小して表示するこ...
-
サムネイルを2つ生成する方法
-
画像ファイルサイズの上限について
-
画像をひとつにするには・・・?
-
どの画像がクリックされたかフ...
-
画像表示システムをつくりたい...
-
php単体では表示されるが他のペ...
-
PHPを使ってHTMLで画像表示させ...
-
iphoneで虫眼鏡の作り方
-
アップロードしたGIF画像を縮小
-
Illustratorで文字と画像を流し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
iphoneで虫眼鏡の作り方
-
Illustratorで文字と画像を流し...
-
pictureboxに表示した画像のフ...
-
透過PNGが透過されない!!
-
GDI+を使ったビット数とDPIの扱い
-
VBAでJPGサイズ変更
-
PHPで吐き出した画像にリンクを...
-
ListViewコントロールでサムネ...
-
拡張子php画像をjpg画像等に変...
-
ビットマップ画像を読み込むプ...
-
C#とJavaで、MP3タグの画像を表...
-
SQLiteに画像を格納したい
-
手作業で埋め込んだ、UserForm1...
-
【PHP】サーバー上で TIFFをJPE...
-
BLOBデーターの画像の表示方法...
-
jar化すると画像が消える
-
「imagejpeg」(GD)で作成した...
-
PythonのTkinter詳しい方へ。画...
-
php,mysqlにて画像パス保存/表...
おすすめ情報