我が家にある標準ズームレンズで最も安心できるレンズは AF-S DX VR Zoom-Nikkor 18-55mm f/3.5-5.6G です。が、このレンズってなんか暗い気がするのです。F値が大きいからファインダーが暗いとかそういう問題ではなくて、撮った写真が暗いという意味で。VR無しの18-55mm ED II と比べると同じなのですが、他のレンズとは異なるような気がします。ただ、画角が違うためにカメラが最適と判断する露出が異なっている可能性もあります。
ということで、なるべく画角が同じになるようにセットして撮り比べてみました。オートでどう写るかの比較なので、Pモードで露出を調整せずに撮っています。三脚使用でVR切るのを忘れてましたが特に影響は無いでしょう。
縮小画で見るとそんなに違いはないのですが、個々に見ていくとやはり18-55mmはやや暗いでしょうか。ブツ撮りでよく使う 単焦点50mmとタムロン90mmマクロが明るく写るので余計に18-55mmが暗く感じるというのもあるかもしれません。17-50mmもよく似た傾向ですし、ズームレンズは暗く写るものなのでしょうか。
しかし、すべてのレンズでスピードライト使ったほうが綺麗な色で撮れるのですな。理屈の上ではホワイトバランスをしっかり調整して三脚を使って撮ればどっちも同じ絵になるはずですが、撮るまでの手間と時間を考えればスピードライトを使うのがぜったい楽です。部屋撮りではどう考えてもスピードライトを積極的に使わなくちゃ損だと思います。
ちょっと所用にてWindowsXPをテストでインストールしてたんです。で、ついでなのでInternet Explorer 7 を入れてみたんです。でもって自分のページを表示してみたんです。するとどうでしょう
写真を表示するとブラウザが操作不能になって強制終了しなければならなくなる
ではないですか!! あぅあぅ、自分のページでこんなことになってるなんて。ぜんぜん知りませんでしたよ。「ちょっと一般仕様に近づいた」と思ってましたが、実は一般人お断りになってたんですね(T^T)。
ちなみに、問題になっているであろう箇所を見つけるためのテストコードは下記。
http://toriyu.jp/hitorigoto/hitori-081228-test.html
画像をクリックしたら大きい画像と小さい画像を交互に入れ替えるものです。で、その度に window.alert('click'); を実行しているのでクリックごとにメッセージが表示されます。
で、上のがIE7での実行結果。メッセージの表示が一回では済みません(笑)。 このコードでブラウザが操作不能になることはないのですが(←面白いことになるそうです
^^)、イベントが予期せぬところで発生してるかループしてるかなのでしょう。操作不能になるくらいだから私のコードがヘンテコなのは間違いないのですが、いろいろ試しても直らなくて面倒になってきたので、ちょっと違うところをさわってみました。
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
↓
<html>
これで期待通りに動くようになりました(笑)。もしかしたら互換モードってやつでしょうか? ヘッダにはHTMLの規格を書いたつもりでしたが、Javascriptの動作にも影響を与えるのですな(T^T)。どう直すのが正解なのかはよくわかんないですけど、とりあえず操作不能にはならないみたいなのでこれでいいかな? これまでInternet Explorer がおかしくなった方、どうもご迷惑をおかけしました。
12/28 | ( Y.Kumagai ) |
MacFx3.0でタブが複数ある状態で上のコードで画像をトグルしたりリサイズコーナーをいじったり遊んでからタブを閉じようとしたら面白いことになりました(笑) onresizeはちゃんと把握しないと全然関係ないところでキックされて簡単に無限ループするので危ないですよ。確か…(細かいノウハウは会社へ行って自分のコードを眺めてみないと覚えてません;^^) | |
12/29 | ( たかたに ) |
あらら、面白いことになりましたか!! ということで、上のリンクはブラクラらしいのでお気をつけください(^_^)。 Firefoxでもおかしくなるということですので、今度時間がある時にいじってみますね。クリック時にサイズを入れ替える方式であることを考えれば無理して onresize を使う必要もないので、これは取っちゃう方向で行こうかと思います。 |