ラベル 写真 の投稿を表示しています。 すべての投稿を表示
ラベル 写真 の投稿を表示しています。 すべての投稿を表示

2013年1月23日水曜日

K-5 II-sを買いました

表題の通り、昨年の秋に出たPentaxの新機種K-5 II-sを買いました。2009年にK-7を買ってから、3年半ぶりの買い替えです。

PENTAX デジタル一眼レフカメラ K-5IIsボディ K-5IIsBODY ローパスフィルターレスPENTAX デジタル一眼レフカメラ K-5IIsボディ K-5IIsBODY ローパスフィルターレス

ペンタックス 2012-10-19
売り上げランキング : 5928

Amazonで詳しく見る by G-Tools

2011年7月15日金曜日

超広角を買いました

忘れてましたが、ここは写真のブログでしたw 2月前ほど、GWにバシバシと予定を入れてしまったので、レンズを買うことにしました。買ったのは、前から欲しかったシグマの超広角、8-16mmです。

シグマ 8-16mm F4.5-5.6 DC HSM ニコン用 8-16mm F4.5-5.6 DC HSM NAシグマ 8-16mm F4.5-5.6 DC HSM ニコン用 8-16mm F4.5-5.6 DC HSM NA

シグマ 2010-05-28
売り上げランキング : 17670

Amazonで詳しく見る
by G-Tools

8mmって! 前玉なんてものすごく飛び出てるし、フィルター付けられないし、重いしでかいし。でも、たまたまアウトレット特価で4万円台という破格で売られていたので買いました。こんな焦点距離なのに、ものすごくシャープに写ってびっくり。純正の魚眼はパープルフリンジがこれでもかというくらいでるのに、全然そんなことない。空を撮ると、流れるような雲が異様な存在感を帯びて写ります。これは買ってよかった。ちなみに、上のリンクはペンタ用がamazonから消えてたのでニコンです。悲しい・・・

2011年2月10日木曜日

ズームレンズに関する誤解

最近,会社の人と話していて,ズームレンズに関してすごく誤解されていることがよくわかった.しかし,思い返してみれば一眼レフを買うまで私も同じ誤解をしていたので,決して責めてはいけない.つまり,

ズームというのは,遠くのものを「大きく写す」,という意味でのズームでは決してない

ということだ.カメラの世界ではこれを「望遠」という.反対語は「広角」.「ズーム」は別の概念.なので,「遠くまで写せて,すごいズームですね」というのは,「データをいくらでも保存できて,すごいCPUですね」と同じくらい変な指摘なのだ.もちろん,同じ世代ならHDD容量とCPUの速度に正の相関があるくらいには納得できる(高倍率ズームなら超望遠である可能性が高い).
では肝心のズームとはなにか.ズームとは,1つのレンズで異なる大きさに写せるレンズのことだ.反意語は単焦点.つまり,自分が動かなくても大きさを変えられるということだ.なので,たとえば大きく写せる単焦点も,小さく写るズームもある.

さて,次の誤解.誤解というか勘違いだが.上の説明で,大きく写せると書いたがこれは正確ではない.なぜなら,そもそも近づけばどんなレンズでも大きく写せるからだ.正確には,狭い範囲だけを写すレンズ,というのが正しい.狭い範囲だけを同じサイズに引き延ばせば,当然拡大される.そういう仕組みだ.この範囲のことを画角という,がふつうかかれていない.これは,焦点距離とセンサーのサイズで決まる.センサーサイズはふつう固定なので,焦点距離で判断する.なので,○○mmとかかれているのだ.しかし,この説明はなかなか納得してくれない.だって大きく写るじゃないか.では,何を基準にして何倍大きいというのだろう.先ほど書いたとおり,そもそも近づけば大きくなるのに何を基準にするんだろうか.昨日,これに関してよい説明を見つけた.

倍率って何なの?
(略)例えば35mm一眼レフだと焦点距離50mmレンズの倍率がおおむね肉眼と等しい1倍とされている。焦点距離が4倍の200mmレンズなら倍率も4倍、500mmだと10倍と考えることができるわけだ。(略)


これはわかりやすい.肉眼に比べて何倍くらいに見えるか,という指標を見るなら,スペック表の望遠側(○○mmとかいてあるなかの数値の大きい方)の数字を50で割ろう.これが,きっとあなたの求めている「倍率」だ.

では,光学30倍ズーム,とかいってる30倍ってなんなの? これは先ほど書いた,「肉眼と比べた倍率」のことではない.これは,ズームレンズの広角側と望遠側の比のことだ.たとえば,25-300mmのズームレンズは,12倍ズームだ.ここで注意しよう.これは,肉眼の12倍のことではない.広角側が25mmなので,肉眼の1/2倍,そして望遠側が300mmなので肉眼の6倍.この差が12倍と言っているのだ.
意外と驚かれた実例を見てみよう.
ソニー、30倍ズームの「サイバーショットDSC-HX100V」を国内発表
ニコン、広角端22.5mmからの光学36倍ズームレンズ搭載機
タイトルの情報だけでは望遠の能力,つまり肉眼の何倍かはわからない.スペック表を見てみよう.前者は27-810mm,後者は22.5-810mm.最大で肉眼の何倍に写るか,という点で両者は同じである.繰り返す,30倍ズームと36倍ズームだが,見える大きさの最大は同じだ.どこに違いがあるかというと,広角側だ.これはどれくらい小さく写せるか,言葉を換えるとどれくらい広い範囲を写せるかだ.飲み会の会場のような狭い空間で複数人を撮るときなどに威力を発揮する.この点でニコンに軍配が上がっているということだ.

最後の誤解.光学ズームは画像の劣化がない.ウソだ.レンズはもちろん高校物理で習ったスネルの法則を利用している.しかし,あのとき習った理想的なレンズというのは世の中に存在できない.なぜか.簡単な話だ.波長によって屈折率が違うからだ(他にも理由があるかもしれないが,これが一番簡単に説明できる).波長によって光の進み方が違うのに,どうして1点で交わるというのだ.たとえば今お使いのめがねの端の方を見てみよう.黒い物体と白い物体の境界に赤か青の線が見えないだろうか.
聞きかじった程度の知識だが,レンズ設計とはこれがいい塩梅になるように屈折率や焦点距離の異なるレンズを複数組み合わせて妥協点を見つけることだ.昔は職人芸だったらしいが,今では計算機で行う.ズームレンズはこれがさらに難しい.あらゆる焦点距離でそこそこいい感じにしないと行けないからだ.ズーム倍率が大きくなれば大きくなるほど難しくなる.なので,倍率の高いカメラを買った割に画質があがった気がしなかったとしてもお門違いというわけだ.高倍率ズームは画質ではなく便利さを買っているのだ.交換無しで(コンデジの時点でできないが・・・),あらゆる焦点距離を使えるというのはフットワークの軽さを高めてくれる.



ところで,先ほど書いたとおり50mmが標準と言われるのだが,ふつうのコンデジはこれよりも広角がデフォルトになっていることが多いと思う.なぜか.これは,私の予想だが広角の方が失敗が少ないからだ.典型的な失敗は2つ.一つは手ぶれ,もう一つはピンぼけ.広角はどちらも起こりにくい.広角というのは,画角が広い.なので,たとえば10度の望遠レンズを使って1度分手ぶれしたら,10%もぶれていることになるのだが,100度の広角なら1%くらいだ.さらに,広角の方が広い範囲から光を集めるので,シャッタースピードが速い.速いと言うことはぶれる時間も少ない.ピンぼけに関しては,望遠の方がピントの合っている領域(被写界深度)が狭い.広角の方がひろい.ということは,広角ならだいたいピントがあう.そんなわけで,巷では広角写真があふれかえっていて,中望遠くらいが好きな私としては若干うんざり気味なのである.

2010年9月29日水曜日

商品開発力

フォトキナを睨んでか,8月あたりからデジタル一眼レフに関して自分の感覚では革命的といわれうるような大きな流れをみました.一つはソニー,もう一つはキヤノンです.日経○○をよく読むのですが,その中で将来のイメージセンサやデジタルカメラがどうなるのか,という予想,ロードマップのようなインタビュー記事を読みました.ここ数年で劇的に変わってきた,感覚的ですがそれはまさにコンピュータ屋がハードづくりからソフトづくり,そしてサービスづくりに変わっていったようなものに似ているのかなという印象を受けました.

最近,デジカメ界で話題をさらいまくっているのがソニー陣営でしょう.超小型のミラーレスなのにAPS-CのNEXは衝撃的で,しかも市場にも受け入れられているようです.しかし,先日発表されたα55とα33,これは私の中ではさらに衝撃的でした.メインストリームクラスの一眼レフに電子ビューファインダーを採用という点です.不可侵にして犯さざるべからずだったファインダーがついに,という感じです.将来的に光学ファインダーは絶滅するだろう,というような予想をされている方は過去にも見たことがあるのですが,こんなに早く,いやもうそういう上位機種でも実用段階に来ているんだと思わされました.加えて,透過光ミラー.従来のカメラ造りをする時代ではないんだよ,というような主張,気概が最近のソニーのものづくりには滲み出ているように感じます.

もう一社,衝撃的なニュースを連発したのがキヤノンでした.1億2000万画素のCMOSセンサー(従来の7.5倍)と,20cm x 20cmの巨大CMOSセンサーの開発(従来の40倍)です.どちらのニュースも目を疑いました.半導体開発に関して素人なのですごさの10%も理解できてないんでしょうが,簡単に集積度を上げられるとも思いませんし,巨大化すると歩留まりも劇的に悪くなる気がします.ただ,素人目でもはっきりと「躍進」とわかるような変化を作れるだけのパワーと度胸には感服します.


最近というわけでもないですが,他に注目株なのがパナソニックとサムスンでしょうか.こうした家電メーカーの方が斬新なアイデア,顧客のニーズ,新しい取り組みに積極的,またそれを遂行するだけの基礎体力が備わっているように感じてしまいます.ソニーはαとサイバーショットの2つの血がうまく結合したのかな,と思います.こうした点は古株の職人気質なメーカーは,折角の技術力を生かしきれずに歯がゆく感じます.我らがPentaxもK-5を発表しましたが,やはりセンサーが変わった以上のインパクトを出せていないのかなと.最近のPentaxのデザイン路線は,デザイン好きとしては好感が持てますし,そうしたニーズは確実に存在するので力を入れていって他社と違うモノづくりをして欲しいところです.

2010年7月26日月曜日

3D映画と視差とボケ

ちょっと前に会社の人とAlice in Wonderlandを観にいきました.もちろん,ここで映画の感想うんぬんを語る気は毛頭なくて,最近妙に流行りだした3D映画といわれる技術に関してです.


2次元のスクリーン上に映し出された映像で立体物を見ているような感覚を得られる原理の基本は,両眼視差による効果です.左右の目に別々の画像を見せているわけです.立体視の方法は他にも色々あるわけですが,もう一つの代表的な方法が目の焦点によるものです.つまり,ピント.3D映画の場合,スクリーンまでの距離は一定なので,この方法で奥行きを認識できません.感じた違和感の一つはたぶんこれです.両眼視差的にはこのくらいの距離のはずなのに,ピントは別のところにあってるなぁ,という感覚.しかし,たぶんもっと感じた違和感はそこではなくて,ボケのせいだと思います.焦点の合ってない部分はボケて見えるわけですが,写真や動画でももちろん焦点の合ってない部分はボケますし,特に強調されて撮影されます.これに,3D映画の両眼視差を組み合わせると変な感覚がするのです.

そもそも写真とか動画においてボケというのは表現手法の一つなわけですよね.自分の感覚では,人間の目は典型的な写真や映画ほど被写界深度が浅くない(それほどボケてない)のですが,意識が行ってないもの,あるいは視差のあってないものの情報はほとんど入ってこないように感じます.この,情報の入ってこない感覚を2次元の写真や動画で表現するために,人間の目よりも大きなボケで表現しているんだと考えています.写真を見ると全体にフォーカスがあうので,実際の目よりもボケを強調した方が,実際の認識に近い感覚が得られるんだと思います.そのため,2次元で見せるときはボケを強調する必要があったわけですが,今の3D映画はこの強調されたボケをそのまま取り込んでいます.
現状の3D映画を見る限り,両方がごっちゃになっていて妙な違和感を感じます.具体的に言うと,画像的にボケてる部分を見たときボケてるのに視差は合っていて,そのとき画像的にボケてないところは視差が合わないということが起こります.何だろうこれは.彫刻の一部に「ボケ」といってもやもやした謎の物体が置かれてる感覚です.画像的にぼけている部分に視差をあわせられてしまうのが問題の気もします.まだ黎明期ということで,これから新しい表現方法が作られていくでしょう.そちらに期待.あるいはパンフォーカスっぽい表現が流行るのかもしれません.

2010年6月26日土曜日

Lightroom 3

昨日Lightroom 3がリリースされました.public betaが出た去年の冬に使ってたのですが,期限切れと同時に,古いバージョンで新しいファイル開けないので,え?これカタログファイルどないせいと?という悲しい状況に陥りました.βを出して,しかもファイルフォーマット変換するなら,発売までは使わせて欲しいな.

さて,使ってみた印象ですが非常に良いです.2をすっ飛ばして1.4からのバージョンアップだったので,一番印象的なのはマルチディスプレイに対応したこと.2画面目の方に画像一覧を,メインディスプレイの方で現像作業をするといい感じです.性能という点以上に使い勝手というのはこういう日常的に使うソフトにはとても大事だと思います.もっともこの昨日は2のころからあります.ということで,3での差分はやはりノイズ除去が強力になったことでしょうか.1.4との比較ですが,ぱっとみでわかるくらい除去性能が上がってます.真っ暗なスポーツバーでW杯観戦したときの,ISO1600,無発光で無理やり撮った写真もきれいになりました.すごい! ビデオに対応を謳っていますが,単に取り込めるだけで編集はできません.Lightroomとは別に,ファイルコピーする手間が省けたくらいに思っておけばいいんですかね.

1系のユーザー,特にマルチディスプレーのユーザーは即刻かえるべきでしょう.2の人は,どうでしょうね.差分はそんなに大きくないかも.ノイズ除去はRAW現像処理の中でもメインの一つなので,ここをどうみるかでしょう.そんな感じ.

2010年6月20日日曜日

最近のミラーレス事情

最近いわゆるコンパクトデジカメと,いわゆる一眼レフデジカメの間に出てきたのが,ミラーレス一眼といわれるクラスです.中に鏡が無いので一眼レフよりも小さくできて,レンズは交換できる.やっぱり一眼レフはでかい,重い,で一般受けしないことがわかったので,人に勧めるべきなカメラは何なのか,ビックカメラに行く用があったのでいじくってきました.

主にみてたのはこの3つ,とその下位機種.
まず,一番驚いたのはNEXが意外とよい! 理由は色々ありますが,背面液晶の解像度が異常に高いので,ピントの山を見分けられる.カメラ振った時のリフレッシュが非常に高速.これがちゃんとしてないと,動く物体は追えません.こういうのみてると,光学ファインダーにペンタプリズムなんて技術は,それこそ消えていくのかなぁとか思ってしまいます.そして,APS-Cはやはりコンパクトデジカメと違ってよくぼける.操作感はあまり評価してませんが,F値の調整は意外とやりやすかったです.あと,レンズがでかいのでまったくコンパクトじゃないですw 背面液晶なので,晴天時にどれだけみられるか気になります.
次に良かったのがLumixです.電子ビューファインダー(ファインダー内に液晶を使う)の解像度が優れていて,これも応答性能が良くて,ふつうに使えそう.背面液晶でいいジャンと思われるかもしれませんが,晴天時に液晶は見えないので,外の光を遮断して確認できるファインダーは実は重要です.AF時に自動でアップになって,ピントの山も見分けやすい.これは驚いた.
そして,残念だったのがPENでした.何がって,電子ビューファインダーの応答性能が遅すぎる・・・.動くものは追えません.どうもつかっててもしっくりきません.しかも,これつけると形がダサすぎる.デザインがいいので人には勧めてましたが,今後控えるかも.


さて,全体の感想ですが,少ない事例の中で大型家電メーカーが強いなという印象を受けました.ミラーレスというと,今までの既存のカメラ技術(シャッター,ミラー,ペンタプリズム,ファインダーなど)が省略されて,新たに電子ビューファインダーなり背面液晶なり,どちらかといえばカメラメーカーが出がけてなかった新しい技術が必要になります.こういうところの作る込みは,やはりSonyとPanasonicは一歩先を行っている感がありました.特にPanasonicはミラーレスのさきがけとしていち早く商品を出して,そして自分たちに得意とする分野をうまく生かしているように思います.今後どうなるかわかりませんが,ミラーレス市場は一眼レフ市場に比べて拡大するでしょうし,その中でこうした家電メーカー系が伸びそうな気がします.これから参入するメーカーはどうするのでしょうね.どこかと提携するなり,合併するなり,新しい動きがあっても不思議じゃなさそうです.

2010年5月26日水曜日

一眼レフデジカメのススメ

最近,ちょっといいカメラ欲しいんだけど,というような相談を受けることが増えました.整理の意味も込めて,デジタル一眼レフがコンパクトデジカメに比べてよいといわれる点を思いつく限りあげてみようと思います.
  1. 撮影素子が大きいため画質がよい
  2. レンズが優れるため画質(解像度)がよい
  3. 撮影素子が大きいため被写界深度が浅い(よくぼける)
  4. レンズを交換できる
  5. ファインダーがついているため明るい環境下でも見やすい
  6. ピントの山が見やすい
  7. 位相差AFのためオートフォーカスが速い
  8. ボタンが多くて操作感がよい
  9. 電池の持ちがよい
一番よく聞くのは1番目の理由です.これは間違いではないです.特に夜など高感度でのノイズは雲泥の差があります.2番目の理由もしかり.しかし,画質に関してどれほどの人が気にしているのか少し疑問です.むしろ,デジタル一眼レフを使ってまず一番驚くのは3番目でしょう.ぼける.とにかくぼける.これだけで全然雰囲気が変わります.特にポートレートやもの撮りが楽しくなります.これを画質と勘違いしている人はきっと多いですが,このことと画質は別です.ボケは光学的な現象ですから.それから,ホワイトバランスのことと思っている人もいるかもしれませんが,これも別です.

4番目の理由は,大きいですが実はあまりとりだたされません.理由は簡単で金がかかるからそんなに買わないよということのようです.レンズの交換は楽しいですよ.ボクは中古レンズをオススメしています.画質のためというよりは画角の違いを楽しむためという意味で.4000円で買った200mmは未だに使ってます(さすがに色々厳しいが).今更いうまでもないですが,35mmで近づいて撮った写真と85mmで離れて撮った写真は違うものです.これは画質云々ではなくて,背景と被写体との距離の比がかわるためです.ボケのサイズや遠近感もかわります.コンパクトデジカメで一番嫌いなのはここで,画角が自分には広角過ぎに感じます.

実は重要だと思っている最後の5点,けっこう軽視されてはいる気がします.最近流行のミラーレス機がこれらのポイントを押さえているかどうか疑問です.明るい環境下で液晶はほとんど何もみえなません.いつもプレビューが見えなくて苦労します.電子ビューファインダーはこの点ありですが,その次のピントの山はどうだろう.撮影素子が大きいとピント合わせはシビアになります.ちゃんとあえば楽しいですが,どこにピントがあっているのか見えなければなりません.以前の液晶ファインダーや背面液晶ではこれが全くわかりませんでした.最近は高精細液晶が使われるようになったらしいので改善されているのかも.気にしたことないよ,という人もいるかと思いますが,コンデジは素子が小さいのでほっといてもピントがあいます.デジ一にするとすぐピンぼけします.オートフォーカスは,極端な話マニュアルでも楽しめますが(笑),ふつうの人は欲しいでしょう.一眼レフには専用のセンサーがあるので速いです.最後の操作感はかなり大事だと思います.全部お任せのコンデジと違って,デジ一は色々設定します.さすがにフルマニュアルで撮らなくても,ピントや絞り,ISO,+/-補正は常にいじりますので,1ボタンでやりたいところ.それから,搭載しているRAMの容量なんかも意外と効いているように思います.というのも,以前SDカードに書き終わるまでプレビューできなくてすごくいらいらしました.そのためにK10D買ったくらいだから・・・.常に撮影しているわけではないためだと思いますが,実は電池の持ちはよいです.

カメラの機種ごとの違いはどうなのかともよく聞かれますが,とりあえず最初は安めのでいいと思います.極端な話中古や型落ちでも.上位機種は確かにいいですが,古い上位機種より新しい下位機種の方が画質がよかったりするのもあります.高い方が基本性能(画質,ファインダー,シャッター速度,AF,連射,防水,耐久性など)がよくてでかくて重い.安い方が逆です.メーカーによってカラーがあるので,たとえばキヤノンやニコンは大きくて性能もよい,Pentaxは小型高級機,オリンパスやパナはより小さいカメラを目指しています.いいカメラ買うよりも,レンズ(画角)が違うと何がかわるのかとかを楽しんだ方がいいと思います.


そんなわけで,自分のお薦めは,キヤノンのキスデジに標準と望遠くらいのレンズ買うのがいいんじゃないでしょうか,ってめちゃくちゃベタだw キヤノンはやはりレンズの利があります.友人が使っていれば借りられますし,中古市場も大きいです.レンズのレンタルもあります. ただし,キスデジはファインダーが死ぬほど小さくて泣けてきます.大きいのがいやな人には,E-PL1とかがデザイン的にもいいように思います.むしろ,そういう人はフィルム+フィルムスキャナにしましょうw なぜかフィルムの一眼の方が小さいです.なんでだろう.ポケットに入れたい人,あきらめてGRとかにしましょう.

2010年1月27日水曜日

理系のためのデジカメ講座

最近こんな本を読みました.

デジタル一眼レフがわかる (Fist Book)デジタル一眼レフがわかる (Fist Book)

技術評論社 2008-07-11
売り上げランキング : 27404
おすすめ平均

Amazonで詳しく見る
by G-Tools


大変面白かったです.初心者用でもしっかり抑えるところは抑えていて,というかマニアックに抑えています.例えばCCDとCMOSの違いとか,どうしてデジイチでフォーカルプレーンシャッターが必要かとか,位相差方式ってどうやっているのかとか,プリ発光がなぜ必要なのかとか,今まであやふやだった部分がかなり抑えられています.カメラのメカに詳しくなりたい人はどうぞ.

'},ClipboardSwf:null,Version:'1.5.1'}};dp.SyntaxHighlighter=dp.sh;dp.sh.Toolbar.Commands={ExpandSource:{label:'+ expand source',check:function(highlighter){return highlighter.collapse;},func:function(sender,highlighter) {sender.parentNode.removeChild(sender);highlighter.div.className=highlighter.div.className.replace('collapsed','');}},ViewSource:{label:'view plain',func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/'+code+'');wnd.document.close();}},CopyToClipboard:{label:'copy to clipboard',check:function(){return window.clipboardData!=null||dp.sh.ClipboardSwf!=null;},func:function(sender,highlighter) {var code=dp.sh.Utils.FixForBlogger(highlighter.originalCode).replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&');if(window.clipboardData) {window.clipboardData.setData('text',code);} else if(dp.sh.ClipboardSwf!=null) {var flashcopier=highlighter.flashCopier;if(flashcopier==null) {flashcopier=document.createElement('div');highlighter.flashCopier=flashcopier;highlighter.div.appendChild(flashcopier);} flashcopier.innerHTML='';} alert('The code is in your clipboard now');}},PrintSource:{label:'print',func:function(sender,highlighter) {var iframe=document.createElement('IFRAME');var doc=null;iframe.style.cssText='position:absolute;width:0px;height:0px;left:-500px;top:-500px;';document.body.appendChild(iframe);doc=iframe.contentWindow.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write('

'+highlighter.div.innerHTML+'

');doc.close();iframe.contentWindow.focus();iframe.contentWindow.print();alert('Printing...');document.body.removeChild(iframe);}},About:{label:'?',func:function(highlighter) {var wnd=window.open('','_blank','dialog,width=300,height=150,scrollbars=0');var doc=wnd.document;dp.sh.Utils.CopyStyles(doc,window.document);doc.write(dp.sh.Strings.AboutDialog.replace('{V}',dp.sh.Version));doc.close();wnd.focus();}}};dp.sh.Toolbar.Create=function(highlighter) {var div=document.createElement('DIV');div.className='tools';for(var name in dp.sh.Toolbar.Commands) {var cmd=dp.sh.Toolbar.Commands[name];if(cmd.check!=null&&!cmd.check(highlighter)) continue;div.innerHTML+=''+cmd.label+'';} return div;} dp.sh.Toolbar.Command=function(name,sender) {var n=sender;while(n!=null&&n.className.indexOf('dp-highlighter')==-1) n=n.parentNode;if(n!=null) dp.sh.Toolbar.Commands[name].func(sender,n.highlighter);} dp.sh.Utils.CopyStyles=function(destDoc,sourceDoc) {var links=sourceDoc.getElementsByTagName('link');for(var i=0;i');} dp.sh.Utils.FixForBlogger=function(str) {return(dp.sh.isBloggerMode==true)?str.replace(/
|<br\s*\/?>/gi,'\n'):str;} dp.sh.RegexLib={MultiLineCComments:new RegExp('/\\*[\\s\\S]*?\\*/','gm'),SingleLineCComments:new RegExp('//.*$','gm'),SingleLinePerlComments:new RegExp('#.*$','gm'),DoubleQuotedString:new RegExp('"(?:\\.|(\\\\\\")|[^\\""\\n])*"','g'),SingleQuotedString:new RegExp("'(?:\\.|(\\\\\\')|[^\\''\\n])*'",'g')};dp.sh.Match=function(value,index,css) {this.value=value;this.index=index;this.length=value.length;this.css=css;} dp.sh.Highlighter=function() {this.noGutter=false;this.addControls=true;this.collapse=false;this.tabsToSpaces=true;this.wrapColumn=80;this.showColumns=true;} dp.sh.Highlighter.SortCallback=function(m1,m2) {if(m1.indexm2.index) return 1;else {if(m1.lengthm2.length) return 1;} return 0;} dp.sh.Highlighter.prototype.CreateElement=function(name) {var result=document.createElement(name);result.highlighter=this;return result;} dp.sh.Highlighter.prototype.GetMatches=function(regex,css) {var index=0;var match=null;while((match=regex.exec(this.code))!=null) this.matches[this.matches.length]=new dp.sh.Match(match[0],match.index,css);} dp.sh.Highlighter.prototype.AddBit=function(str,css) {if(str==null||str.length==0) return;var span=this.CreateElement('SPAN');str=str.replace(/ /g,' ');str=str.replace(/');if(css!=null) {if((/br/gi).test(str)) {var lines=str.split(' 
');for(var i=0;ic.index)&&(match.index/gi,'\n');var lines=html.split('\n');if(this.addControls==true) this.bar.appendChild(dp.sh.Toolbar.Create(this));if(this.showColumns) {var div=this.CreateElement('div');var columns=this.CreateElement('div');var showEvery=10;var i=1;while(i<=150) {if(i%showEvery==0) {div.innerHTML+=i;i+=(i+'').length;} else {div.innerHTML+='·';i++;}} columns.className='columns';columns.appendChild(div);this.bar.appendChild(columns);} for(var i=0,lineIndex=this.firstLine;i0;i++) {if(Trim(lines[i]).length==0) continue;var matches=regex.exec(lines[i]);if(matches!=null&&matches.length>0) min=Math.min(matches[0].length,min);} if(min>0) for(var i=0;i