WebKit検証の続き。
さて前回までで WebView を画像に落とすことに成功した。ただしこの画像は目に見えている範囲しか写っていなかった。やりたいのはページ全体を画像に落とすこと。前回のサンプルコードを使ってさらに検証を進めてる。
WebView は中にフレームを持っているので、今度はこれらのビューの内容を画像に落として行ってみる。
まずは WebViewの直下に存在するメインフレームのビュー。メインフレームは WebView#mainFrame メソッドで取得できる。ただしこれはモデルなのでビューは別に存在する。これはフレームに対して #frameView を投げれば取得できる。このビューを画像に落としてみよう。
NSView* view = [[_web_view mainFrame] frameView];
※以下前回と同じコード
さてどんな画像ができあがるか。実行して画像を作ってみる。

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

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