798239 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

まんじうこわい@楽

まんじうこわい@楽

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Keyword Search

▼キーワード検索

Calendar

Profile

hknopage

hknopage

Free Space

Category

Freepage List

2007.07.31
XML
カテゴリ:PHP
 鼻水とクシャミが止まらぬーん・・・(;D)rz
 
 こんにちは、HKです。
 
 前回は
 
 画像データをDBへ直接保存->DBから画像データを直接画面出力
 
 という事ができました。
 
 今回は予告通り
 
 DBから画像データ取得->メモリ上のみで画像をリサイズ->画面出力
 
 をやってみました。
 
 画像リサイズの流れとしては(JPEGの場合)
 imagecreatefromjpeg( )により、ファイルID取得
 imagecreatetruecolor( )により、画像リソースを作成
 imagecopyresampled( )により、先ほど作ったリソースにリサイズしつつ元ファイルをコピー
 imagejpeg( )により、リサイズしたファイルを出力
 
 こんな感じ。
 
 早速作って実験!
 
 ・・・ならないw
 
 imagecreatefromjpeg( )で引っかかりました。
 
 そもそも、この関数の引数はファイルへのパスです。
 
 で、今回やろうとしているのは、メモリ上のみでリサイズを完結するです。
 
 ・・・ダメじゃんw
 
 メモリ上のみということはファイルパスが存在しません~haha
 
 他に良い関数ないかな~と探していると・・・ありました!救世主!
 
 imagecreatefromstring( )関数君です!
 
 これは画像データ自体を引数とし、imagecreatefromjpeg( )と同じ返り値を得られます!
 
 さっくりプログラムを修正し実験・・・
 
 ("□")キター
 
 成功しました~
 
 考え始めて8時間超(!?)、ついに完成しました(・-・*)
 
 相変わらず細かいところは(というよりソースコード全て)すっ飛ばしていますが、ちゃんとできる事を確認しました。
 
 途中画像データからファイルサイズ(x,y)を取得するのにstream_wrapper_register( )を使用したりしてます。
 
 ストリームを使うのは初めてだったので、良く分からず使ってますが・・・まあいいか
 
 何かまた一つ賢くなった気がします。ヽ(´ー`)ノ
 
 おしまい





お気に入りの記事を「いいね!」で応援しよう

Last updated  2007.07.31 18:07:52
コメント(0) | コメントを書く



© Rakuten Group, Inc.