PHPでPNG画像をリサイズする。

2008年6月27日 21:41

PHPで画像をリサイズするという作業をよく行う(個人的に)のだけど、これまではjpeg画像でよくやってた。実際このサイトのphotoの部分も自作したPHPプログラムでサムネイルの作成を行っている。

ちなみに画像のリサイズをやるには、以下の方法(プログラムではなく概念)
1.画像を取得する
2.サイズを決める
3.imagecreatetruecolor(width,height)でキャンパスを用意する
4.用意したキャンパスにサイズを指定して、貼り付ける(表現が正しいかは不明)
5.保存する。

こんな方法で、jpeg画像ならすんなりいける。
しかーし!PNG画像、特に透過PNGの画像をこのやりかたでやってしまうと、透過部分が黒くなる。という現象がおきる。
なぜか?この理由は・・・
imagecreatetruecolor()関数で用意したキャンパスの背景は黒
というものあるからだ。
ほんじゃ、どうするかということだけど、色々調べたり質問したりしたら次のようなプログラム(おおまか)でいける。

$ori = imagecreatefrompng("hogehoge.png");
$ori_x = imagesx($ori);
$ori_y = imagesy($ori);

$new = imagecreatetruecolor($new_w,$new_h);
imagealphablending($new,false);
imageSaveAlpha($new,true);
$fillcolor = imagecolorallocatealpha($new,0,0,0,127);
imagefill($new,0,0,$fillcolor);
imagecopyresampled($new,$ori,0,0,0,0,$new_w,$new_h,$ori_x,$ori_y);

以上。
今までとの違いは、
imagealphablending($new,false);
imageSaveAlpha($new,true);
$fillcolor = imagecolorallocatealpha($new,0,0,0,127);
imagefill($new,0,0,$fillcolor);
この4行。
何をやっているのかというと、
imageSaveAlpha()関数を使えるように、描画モードをアルファチャネルが使えるように設定して、
実際にimageSaveAlpha()関数の実行で、保存できるように設定
$newに対して、透明色を用意して
$newキャンパスを透明色で塗りつぶす。
この作業をおこなって、該当PNG画像を貼り付ける(表現は勘弁)。

そうするとPNG画像でもちゃんと透過してくれるのです。よかったよかった。

PHP画像関係 | comment(0) | trackback(0) |

ブログパーツ 日産ノート

2008年6月27日 11:27

日産のノートのブログパーツ が心惹かれたので記載しておきます。ノートのサイトにも書いてあるけど、MacOSXでは動作しない可能性があるのですが・・・。そこらへんはご理解たもう。


もひとつ。


オレの親父が車業界の別会社なので、ちょっと載せるのに気が引けるが、おもろいもんはおもろいんだもん。ということと、Webのオモローなものがあったよ的なものとして。
親父・・ゆるせ。

ブログパーツ | comment(1) | trackback(0) |

swfの上にhtmlの画像をのせる

2008年6月26日 21:07

ちょっとテスト事項として、
HTMLファイルに埋め込まれているswfファイルの上にimgタグなどの画像をのせたい。
というものを行ってみた。
ちなみに、swfファイルは、<embed>タグでよみこんでる。とする。
そのまま、例えば、CSSなどで、
embed{z-index:1;}
ってして、該当imgをそれより上にすれば・・・と思ってみたが、案の定そうはカンタンにはいかない。

色々調べてみると、
http://oshiete1.goo.ne.jp/qa3134334.html
などの記事で「なかなかできんよーそれは。」と書いてあるものが引っかかる。うーむ。中々難しいんじゃの~。と思いながらクドクド探していると、

見つかった。
http://staff.ark-web.jp/~takemura/public/pukiwiki/27.html

なんと、embedタグにとある値を設定してやるといいとな。
それは・・・それは・・・それは・・なんと!

wmode="transparent"

・・・。
なんじゃこれ。しらん。よーわからん。しかもembed自体はCSSでどうこう値を設定できるもんじゃないので、直接書き込むしかない。

んで、書き込んでみたら・・・
あらーできたじゃない。すばらしい。ちなみに、今回はswfobjectを利用していたので、javascriptのほうから書き込む形となったけど、うまくいった。ひとつの手として使えるぜこれは。

という情報でございました。

javascript | comment(0) | trackback(0) |

雨なので・・

2008年6月26日 10:37

今日は雨な日。梅雨です。今朝ある情報番組で、「レインブーツ」に関して特集をしていた。
「レインブーツ」・・・・。まずは、楽天で検索してみた。検索結果は、5589件。ちなみにコレ
オレは思う。レインブーツ=長靴やん!って。んで、時々、渋谷とかの街中を歩いていると、この類のものをはいた「イケテルのよ~あたし」的ねーちゃんが、ツカツカと歩いている。
でもツカツカはならない。だって、長靴やもん。どっちかというと、ペタペタ歩いている。

カラフルになってるのは、まだレインブーツだが、黒いのもある。
黒いのを見ていると魚屋のおっちゃんを思い出すのはオレだけだろうか?
ちなみに食品用の長靴はこれらしい。
http://www.nagagutsu.com/newpage51b.htm
お値段2000円。

値段としては、同じくらいか。

でもなぁ、レインブーツって名前が変わるだけで、ここまで売れる・・というかブームになるもんかなぁ。デザートがスイーツになっただけで売り上げが違うともいうし。何がなんだかわからん。価値観ってものなのか、単に踊らされてるだけなのか?
確かに横文字にしたら、かっちょえー感じはするわなぁ。
ってことは、もしかしたら、もうちょっとしたら「ジカタビ」も来年当たり、「カーペンターシューズ」とか言って世間に出たりして・・・

ということで、考えてみた。昔からあるものを名前を変えて来年はやらせてみよ~!計画

・ジカタビ ⇒ カーペンターシューズ
・下駄 ⇒ カランコロン
・わらじ ⇒ ストローサンダル
・ねじりはちまき ⇒ ツイスターバンド

世間の流行つくりの方々。いかがでしょう?

日記 | comment(0) | trackback(0) |

PHPでExif情報を取得する

2008年6月24日 18:49

デジカメでとった写真は、Exif情報という諸々の情報を持っている。これを自分のサイトとかに反映させると、それなりにそれなりになる。ような気がしたので、そいつを取得する方法を探してみたら、意外と簡単に取得できるので、メモ。

使う関数は、exif_read_data()関数一発。使い方は
$exif = exif_read_data("ファイルパス");
みたいに書く。そしたら、変数$exifに諸々入ってくる。そいつを例えば、print_rとかで観る。ぶわーって配列になるので、必要な要素名をそこで判断して、取得する。

ちなみに、オレがほしい情報は、F値と露出時間と撮影日の3つくらいだったので、以下のようなコードになった。

$exif = exif_read_data($file);

echo("FNumber:".$exif['COMPUTED']['ApertureFNumber']."<br />");
echo("ExposureTime:".$exif['ExposureTime']."<br />");
echo("Date:".$exif['DateTimeOriginal']."<br />");

このコードを書いた結果は
FNumber:f/13.0
ExposureTime:1/100
Date:2007:10:28 13:38:47
となった。

一度、
$exif = exif_read_data($file);
print_r($exif);
してみることをオススメします。

PHPExif | comment(0) | trackback(0) |

井上雄彦展にいってきた。

2008年6月24日 14:30

080622_153453.jpg

先週の日曜日。嫁と「井上雄彦 最後のマンガ展」に行ってきた。前売り券を購入して・・といっても、すんごい人気で、ほぼ売り切れ状態だったんで、なんとかギリで購入。
案の定当日券は購入できていない人がたくさん。

当日は完全な雨模様。でも列にならんで、16時からの入場。

作品はすごい。何よりすごい。サイズ、迫力、タッチなど。これはもうマンガじゃないなーと思う。
なにより、後半の展示の仕方がカッチョイイにょ~。ネタバレしちゃうので、いえませんが、後半がカッチョイイ。もしこのあと行く人がいたら、そこに期待したらOK。

・・・でも井上雄彦って、スラムダンクのはじめのころって、こんなんじゃなかったよな・と思ったりするけど、結局人は進化するということで。

日記 | comment(0) | trackback(0) |

Tシャツはじめました。

2008年6月24日 14:15

息抜きというか遊びでTシャツ作りをしています。デザインガーデンというところをかりてやっています。
もしよかったら購入してみてちょ。
とりあえず、2つほど載せときます。
ブランド名は、sectionT。どうぞよろしく。
DESIGN GARDEN
HappyLiFE08
HappyLiFE08

税込価格: 2,100円
DESIGN GARDEN
summer in summer
summer in summer

税込価格: 2,100円

Tシャツ | comment(0) | trackback(0) |

Web STRATEGY vol16

2008年6月21日 13:52

タイトルが一気に気になって、とっさに買ってしまった。




「Web近未来像予想図」 すんげー興味深い。
専門医になるか、かかりつけ医になるか?これひとつのキーワード。

紹介 | comment(0) | trackback(0) |

クリエイティブCSS実践講座 東京に参加中

2008年6月21日 11:20

今日はセミナーに参加しております。
サイバーガーデンの益子さんのクリエイティブCSS実践講座 東京です。金額はドンとしておりますが、前回の参加でかなりの刺激を受けたので、今回も思い切って参加。

今午前の休憩中。

とりあえず、ちょこちょこメモします。

まずはJqueryについて
http://jquery.com/からダウンロードするんだけど、
そのときには、packedがいい。Gzippedは実は実装時に一気に重くなる。

$(document).ready(function(){
    hogehoge
};
のように、
$(document).readyを使うことでロードよりも早くDOMの解析が行われる(?)

jqueryのチュートリアルは以下より
http://docs.jquery.com/Tutorials


thickboxすげー。外部HTMLの一部も読める。http://jquery.com/demo/thickbox/
jqueryと一緒にいろいろ試してみる価値があり。AJax系もいける。外のファイルも読める。しかし、本当にそれがthickboxで必要かどうかは見極める必要がある。

javascript | comment(0) | trackback(0) |

3の倍数と3のつく数字だけアホになります。

2008年6月20日 18:45

3の倍数と3のつく数字のときだけアホになるサイトがあった。
http://www.byokan.net/nabe/

単純だけどオモロー。

紹介 | comment(0) | trackback(0) |

ぐるなびのアウトレット

2008年6月20日 13:36

ぐるなびアウトレットというものがオープンしてる。
http://shop.gnavi.co.jp/Mallgn/special/outlet/

こいつは、「プロの料理人の使う食材や、調理具を使いたいというユーザのニーズにこたえたもの」とのこと。今は、100品目くらいだけど、これからどんどん商品数を増やしていくっていってる。

ちょっとここからは雑談。
こいつをしったキッカケはWebからではなかった。新聞。日経。
昼休みに飯を食いながら新聞をみていたら、この記事がでていた。おもむろに、アクセスをした。
中身をみてふーん。
つまり、今回このサイトへのアクセスのキッカケは新聞というメディアだったわけ。「だけ」では意味がないんだろうな・・・とつくづく感じる。
いろんな思いがあるわけよ。

紹介 | comment(0) | trackback(0) |

Webサイトについて

2008年6月19日 15:38

WebCreatorsの7月号を読んでいると、「使いやすいWebサイトづくりを目指す」という記事が目に留まり、読んでいると心打つものがあったので、メモ。

・特異なインターフェースよりもユーザが慣れ親しんだ「普通」を求める。「普通」であることに価値をおく
・技術についてみる前に、ユーザが何を望んでいるかを確認することが重要
・楽しさを付加したコンテンツは、エンタメ系のものなど、場所を考えるべき
・「使いやすい」と「楽しい」を混同しない。(はっきりわけろ!というわけではない)
・リッチと標準の組合せなどは、Web制作の企画段階から使い分けを検討しておく必要がある

なるほど~。


Web全般 | comment(0) | trackback(0) |

SEOに関する記事:ブックマーク

2008年6月19日 12:20

アットマークITのサイトに、SEOに対しての記事があったので、気になったついでにブックマークがてらメモ。

■いまさら聞けない「SEO」入門(2008/6/18記事)
http://www.atmarkit.co.jp/fwcr/rensai/imasara13/imasara13_1.html

個人的チェック項目は以下。
・サーチエンジンの検索結果は、アクセスアップだけでなく利益につながる
・SEOを行うことで、ユーザに直接アプローチできる
・SEOはあくまで手段でしかなく、コンテンツが充実してなければ意味がない
・URLにも気をつける(「URLの中にキーワードとなる文字列が入っている」「アルファベットが早い順」「URLが短い方」から上位に表示される傾向あり。)
・サイト構造の最適化が重要
・コンテンツの充実と、リンクのしやすさも考慮すべき(被リンクを増加させるためにも)
・結果がわかりにくいものなので、何かしらの指標を自分たちで作っておく必要がある

上記以外にも参考になる記事内容。

SEO | comment(0) | trackback(0) |

本の紹介

2008年6月19日 12:06

ひさびさに複数回読みたいと思う本にであった。
勝間和代さんの本。はじめは、普通の啓発本かな~的な感覚で手に取り、購入。
でも読んでいくと、「なるほどー」と思う部分が多く。自分のモチベーションの向上につながったような気がした。
この本の中には、知的生産のために食生活の部分にも目を向けている。はっきりいって、おどろいた。確かに結婚して、食生活が改善されてから、なんか気持ちも違えば、頭のすっきり具合も違う気がする。なるほどなぁ。

また、隙間時間という言葉。これはよくこの手の本では出てくるが、改めて上手に使おうと思った。事実、この本は、風呂と電車で読んだようなもの。ちょっと使えたかな?

もちろん、オレは勝間さんではないので、この通りにはいかないだろうが、参考にしてテストして、自分なりの知的生産術をつくろうと思う。


こいつ(といっては失礼か・・)は、かなりの良書だと思う(俺的に)。いろいろ実行してみたいこともたくさんあるし、実行し始めている・・というか自分にあうかテストしてみている。
勝間さんの他の本も気になり始めているので、手を広げてみるかな・・。

紹介 | comment(0) | trackback(0) |

PHPメール送信

2008年6月18日 16:08

メールフォームみたいなのを作って、メールを送信したいと思って作成していたら、文字化けで引っかかった。基本的にテキストメールの受信だけでよかったので、PHPのmail関数を使う。

mail関数は、以下のようなやり方。
mail("あて先","タイトル","本文");
これで送ったら、日本語のやつがバケバケのバケラッタ。(ふるい)
なので調べていたら、なーんだマルチバイト版あるんじゃん。ってことで、mb_send_mail関数を使う。
使い方はほぼ同じ。
mb_send_mail("あて先","タイトル","本文");
ちょっとここで、「あーそういえば、返信できるようにしないといけないなー」ってことで、
返信用のメアドを登録してもらって、それも加味させる。上記mb_send_mail関数の引数にひとつ追加。
mb_send_mail("あて先","タイトル","本文","ヘッダ情報");
これでOK。・・・のはずだったけど、思いのほか、文字化けの魔術にはまる。うー。どうしたらいいもんだ?ってことでネットを走る。だだだだっと。

文字コードEUC-JPで書いたスクリプトであれば、
mb_language("Japanese");
mb_internal_encoding("EUC-JP");
SHIFT-JISで書いたスクリプトであれば、
mb_language("Japanese");
mb_internal_encoding ("SJIS");
UFT-8で書いたスクリプトであれば、
mb_language("Japanese");
mb_internal_encoding("UTF-8");
と記述。
サーバー側のデフォルトはEUC-JP。何も設定しないと、この値が設定。

とあった。
ということで、今回プログラム自体は、UTF-8で書いているので、
mb_language("Japanese");
mb_internal_encoding("UTF-8");
と、mb_send_mail関数の前に記載。
そしたらうまくいった。なるほどー。これでメールアンケート系の送信はホニョニョってできるな。

PHPメール | comment(0) | trackback(0) |

サーバ移行

2008年6月16日 11:54

とりあえず、サーバだけをいこう。
これから時間を見つけて、過去のデータをインポートしなければ・・・。
仕事の合間を見ながらの作業になるなぁ。ついでにデザインも一新しようと思うので
とりあえず、デフォルトのままにしておきますー。

日記 | comment(0) | trackback(0) |