ページ

2009年4月11日土曜日

WebKit検証(4) - Webのキャプチャ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

WebKit検証の続き。

さて前回までで WebView を画像に落とすことに成功した。ただしこの画像は目に見えている範囲しか写っていなかった。やりたいのはページ全体を画像に落とすこと。前回のサンプルコードを使ってさらに検証を進めてる。


WebView は中にフレームを持っているので、今度はこれらのビューの内容を画像に落として行ってみる。

まずは WebViewの直下に存在するメインフレームのビュー。メインフレームは WebView#mainFrame メソッドで取得できる。ただしこれはモデルなのでビューは別に存在する。これはフレームに対して #frameView を投げれば取得できる。このビューを画像に落としてみよう。

NSView* view = [[_web_view mainFrame] frameView];

※以下前回と同じコード


さてどんな画像ができあがるか。実行して画像を作ってみる。

んん?変わらない。

ではさらに深く潜って #documentView はどうだろう。
NSView* view = [[[_web_view mainFrame] frameView] documentView];




おお出た。良い感じだ。

- - - -
WebKitが良くできているので結構簡単にキャプチャはできそうだ。
ただこの画像サイズ(縦横)はいったいどこで決まるのだろうか?