• ベストアンサー

PHPのGDでバイキュービックアルゴリズムは使えますか?

お世話になります。 PHPのGDで、フォームからアップロードした画像ファイルをサーバ上で自動的に縮小しております。 しかし、Photoshop等の画像ソフトの様に滑らかな縮小が出来ません。 Photoshopでは画像の再サンプリングでバイキュービック法を選択して縮小しております。PHPのGDでも同じバイキュービックアルゴリズムを使う事は出来ないのでしょうか?

  • nikuq
  • お礼率75% (477/631)
  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#39970
noname#39970
回答No.1

ざっと探した所GDではバイキュービックは無いっぽいね imagemagicとかが使えるようならそれに投げてみるのはどうだろう。 あと調べてたら Lanczos っていうのが出てきたから興味があったら調べてみて http://www.google.co.jp/search?q=%E3%83%90%E3%82%A4%E3%82%AD%E3%83%A5%E3%83%BC%E3%83%93%E3%83%83%E3%82%AF%20%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%20Lanczos&hl=ja&lr=lang_ja

nikuq
質問者

補足

ありがとうございます。 早速調べてみます。

関連するQ&A

  • PHPのGDライブラリについて

    掲題の件について質問です。 いま、PHPのGDライブラリを用いて大量の既存のイメージファイル(JPEG)から各三種類ほどのサムネイルを作成しているのですが一点問題があります。 既存のイメージを縮小してサムネイルを作成しているのですが、この元となる画像は 解像度72dpiの画像となるのですが、GDを用いて作成されたサムネイルは96dpiの解像度として作成されるのです。 故合ってdpiは72でなければなりません。 このPHPのGDライブラリで画像のDPIの指定は出来ないでしょうか? 識者の方、よろしければご教授ください。 お願い致します。

    • ベストアンサー
    • PHP
  • GD の認識に関して

    PHP で GD の利用に関してアドバイスをください。 OpenPNE を設定し、プロフィールの画像(jpg)等をアップロードすると、ブラウザの画面が真っ白になり、画像(jpg)をアップロードすることが出来ません。他に日記でも画像(jpg)をアップロードしようとすると同じ現象で出来ません。少し調べた所、PHP から GD が認識されていない可能性があると思ってきました。 phpinfo を見てみても、gd の項目がありません。 サーバはさくらインターネットの FreeBSD を借りています。 サーバ内を確認した所 gd-2.0.33_4,1 jpeg-6b_4 png-1.2.8_3 php5-zlib-5.1.6_1 は入っています。 思うに、php,ini の設定かと思います。もしかしたら他に何かモジュールが必要なんでしょうか、何処を確認したら良いか、アドバイスを頂ければと思います。 PHP のバージョンは 5.16 です。 ちなみに、以下のページで同じ現象が発生しています。 http://docs.openpne.jp/?cmd=read&page=TROUBLE%2F96&word=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C9

    • ベストアンサー
    • PHP
  • PHP GD 画像が縮小できない

    宜しくお願いします。 ※ローカル環境です。 (WinXP PHP5 Smarty PEAR MySQL ※GDはインストされています。) 下記のコードで、サーバーにもともと上げてある画像(jpeg)を縮小して、 それをブラウザに表示させようと思います。 ですが、縮小されずに、元の画像サイズのまま表示されてしまいます。 おかしな点をご指摘下さいませ。 また、(1)で、 jpegファイルを取り込むコードがありますが、これは、 もし画像がGIFであったりPNGの場合を顧慮するなら、 取り込む際にそれぞれを判定するのが基本でしょうか? もし、今回のようにサバー元の画像をリサイズするのであれば、拡張子もわかっていますので、 jpegファイルだけのことを考えればいいですが、 たとえば、任意のアップロードされたファイルを扱う場合は、上記3種類を判定すして処理すべきですよね? 以上、2点を回答下さいませ。 // -- (1) // 画像を読み込む。 $file_path = "http://www元画像.com/img/aa.jpg"; $image = ImageCreateFromJPEG($file_path); //JPEGファイルを読み込む /*********** $image = ImageCreateFromGIF($file_path); //GIFファイルを読み込む $image = ImageCreateFromPNG($file_path); //PNGファイルを読み込む ************/ // -- (2) // 画像のサイズを取得。 $width = ImageSX($image); //横幅(ピクセル) $height = ImageSY($image); //縦幅(ピクセル) // -- (3) // 縮小した画像のサイズを決める。 $new_width = 100; $rate = $new_width/$width; //圧縮比 $new_height = $rate*$height; // -- (4) // 空の画像を作成する。 $new_image = ImageCreateTrueColor($new_width, $new_height); // -- (5) // サンプリングしなおす  ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height); // -- (6) // ブラウザに出力する場合。 ImageJPEG($image); //ImageJPEG($image,'simpletext.jpg'); //ImageGIF($image); //環境によっては使えない //ImagePNG($image); // -- (7) // メモリを解放する。 imagedestroy ($new_image); imagedestroy ($image);

    • ベストアンサー
    • PHP
  • OS10.3 ServerでGDライブラリ

    OS10.3.5 Server + PHPで運用しております。 画像の自動生成を行いたくGDライブラリと、jpeg-6bやlibpngを組み込みたいと思っております。PHPのバージョンは4.2.10(OSの標準搭載)、場合によってはバージョンアップしても構わないと思っております。 サイトを色々さがしても、Server10.3以降のPHPのコンパイル方法がどこも見当たりません。 どなたかServer10.3以降でGDを実装済みの方、ご教授願います。

    • ベストアンサー
    • PHP
  • GDについて

    2つ質問させてください。一方だけ分かる方もよろしくお願いします。 (1)下記のQRコードを作成するプログラムを自身のHP上で実行できるようにしたいと考えています。 http://www.swetake.com/qr/qr_cgi.html しかし実行するにはGDというものが必要と『添付ドキュメント』に記載されていました。PHPに関しては初心者レベルで全く分かりません。 下記のGDのHPを見ても何をどうするのかも皆目見当つきません。 http://www.boutell.com/gd/ GDがどういうものかという事は調べて分かったのですが、これは上記のHPから何かをダウンロードして実行するファイルと同じディレクトリに入れてサーバーにアップするだけで良いのでしょうか?ダウンロードする場合は上記のHP上のドコからダウンロードすれば良いのでしょうか? (2)『添付ドキュメント』にディレクトリ構造が記載されていますが(下記URL)、 http://www.swetake.com/qr/README.txt qr_img.phpというファイルに直接アクセスすれば完成というわけではありませんよね? データなどを入力するフォームを自身で作成して、そのフォームからqr_img.phpにデータなどを渡すことで作成できるという事でしょうか? 半可通の知識で説明不足な点もあるかと思いますが、詳しい方がおりましたら御教授ください。よろしくお願いします。

    • 締切済み
    • PHP
  • 実際のphpの運用について

    すいません。今htmlで書いただけのサイトを持っているのですが、 (今使っているさくらサーバーのレンタルサーバーでphpは使えます) 今度フォームを作り、phpで処理して出力するプログラムを作りました。 内容は自分で取った写真を日付順や季節順で並び替えるphpです。 (チェックボックスなどで選択し、画像を並び替えるプログラムです) 私は、phpは初めてで、今手元にあるのは test.html・・フォームなどを設置した通常のwebsitです。 test2.php・・フォームで送られた値を処理して結果を出力するプログラムです。 この二つをとりあえず、フリーソフトのffftpでアップしてみた所、上手く動きました。 たださくらのレンタルサーバーで「php.ini 設定ファイル編集」という項目があるのですが、これは 何もしなくて良いのでしょうか? 白紙の記述ページみたいなものなのですが・・。 とりあえずphpを動かすだけならphpのファイルごとアップロードしてしまえば良いものなのでしょうか?

    • ベストアンサー
    • PHP
  • サーバー上での画像縮小

    お世話になります。 現在サーバーをレンタルしてそこに画像ファイル(主にデジカメで撮影したJPEG)をアップロードしているのですが、このアップロードした画像をサーバー側で縮小して表示させることはできませんか? サムネイルで一覧表示をしたいのですが、サーバーのリソースは限られているので、あらかじめサムネイルを作成しておくといった無駄はできません。 ファイルのリクエストに対してサーバーが縮小した画像を送信して欲しいのですが・・・。 JavaでもPHPでもFlashでもかまわないので教えていただけると助かります。

  • PHP+GDについて

    PHPでGDを用いてPNGファイルを生成するスクリプトを作成したのですが、うまく動作しません。 <?php $filename = "G".date("Ymdhis").".png"; $im = imagecreate(550, 250) or die ("画像の作成に失敗しました"); $bg = imagecolorallocate($im, 255,255,255); $trans = imagecolortransparent($im, $bg); imageline($im, 60,0,60,140, $trans); $filedir="graph_img/".$filename; imagepng ($im,$filedir); imagedestroy($im); echo "作成完了!"; ?> このスクリプトを実行すると、PNGファイルは生成されるんですが、ファイルサイズが0で、スクリプトの実行がそこで中断されてしまいます。 何かよい解決方法はないでしょうか?よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPでGDライブラリを使って縮小した画像を直接表示したい

    PHPでGDライブラリを使って、「image.jpg」という画像(800x222のJPEGファイル)を、GETで渡した幅に縮小させたくて、次のように書きました。 -----reimage.php--------------------- <?php header("Content-Type:image/jpeg"); $old_width=800; $old_height=222; $width = htmlspecialchars($_GET['w']); $height = ($old_height / $old_width) * $width; $source = imagecreatefromjpeg("image.jpg"); $re_image = imagecreatetruecolor($width,$height); imagecopyresampled($re_image,$source, 0, 0, 0, 0,$width, $height, $old_width, $old_height); imagejpeg($re_image); imagedestroy($re_image); ?> -------------------------- 他のHTMLファイルから <img src="reimage.php?w=480"> などとすると縮小された画像が表示されるのですが、直接「reimage.php?w=480」を開くと、文字化けした文字列が並んでいるばかりで画像が表示されません。 firefoxでMIMEタイプを見てみると、「text/html」になっています。 >header("Content-Type:image/jpeg"); の部分がうまくいっていないのだと思いましたが、どう直せばいいのか分かりません。 なお、サーバーはxreaの広告免除を使っています。 まだPHPを勉強し始めて日が浅いので、見当違いなことを聞いているかも知れませんが、よろしくおねがいします。

    • ベストアンサー
    • PHP
  • PHP4+GDでの画像の減色処理

    携帯で写真を見るときに自動的にリサイズして 表示するスクリプトを作成しています。 PHP+GDで画像の減色処理は可能でしょうか? 色数を32~64くらいまで減色する方法が解りません jpg書き出しの場合は比較的サイズが小さくなるので 問題はないのですがauの古い機種の場合にはpngを 書き出すようにしていますがファイルサイズが 大きくなってしまい表示しきれません。 よろしくお願いします

    • ベストアンサー
    • PHP