snipplrCallback({"id":40186,"title":"create-snapshot-images-from-webpages-in-cocoa","source":"
\/\/ MWWebSnapshot<\/span><\/div><\/li> \/\/<\/span><\/div><\/li> \/\/ Created by Jim McGowan on 08\/09\/2010.<\/span><\/div><\/li> \/\/ Copyright 2010 Jim McGowan. All rights reserved.<\/span><\/div><\/li> \/\/<\/span><\/div><\/li> \/\/ This code is made available under the BSD license. <\/span><\/div><\/li> \/\/ Please see the accompanying license.txt file<\/span><\/div><\/li> \/\/ or view the license online at http:\/\/www.malkinware.com\/developer\/License.txt<\/span><\/div><\/li> \/\/<\/span><\/div><\/li> <\/div><\/li> #import <Cocoa\/Cocoa.h><\/span><\/div><\/li> #import <WebKit\/WebKit.h><\/span><\/div><\/li> <\/div><\/li> <\/div><\/li> @interface<\/span> MWWebSnapshot :<\/span> NSObject<\/span><\/a> <\/div><\/li> {<\/span><\/div><\/li> \tvoid<\/span> (<\/span>^<\/span>completionBlock)<\/span>(<\/span>NSImage<\/span><\/a> *<\/span>image)<\/span>;<\/div><\/li> \tWebView *<\/span>webView;<\/div><\/li> }<\/span><\/div><\/li> <\/div><\/li> +<\/span> (<\/span>void<\/span>)<\/span>takeSnapshotOfWebPageAtURL:<\/span>(<\/span>NSURL<\/span><\/a> *<\/span>)<\/span>url completionBlock:<\/span>(<\/span>void<\/span> (<\/span>^<\/span>)<\/span>(<\/span>NSImage<\/span><\/a> *<\/span>)<\/span>)<\/span>block;<\/div><\/li> <\/div><\/li> @end<\/span><\/div><\/li> <\/div><\/li> <\/div><\/li> <\/div><\/li> @interface<\/span> MWWebSnapshot(<\/span>)<\/span><\/div><\/li> -<\/span> (<\/span>id<\/span>)<\/span>_initWithCompletionBlock:<\/span>(<\/span>void<\/span> (<\/span>^<\/span>)<\/span>(<\/span>NSImage<\/span><\/a> *<\/span>)<\/span>)<\/span>block;<\/div><\/li> -<\/span> (<\/span>void<\/span>)<\/span>_beginDownloadFromURL:<\/span>(<\/span>NSURL<\/span><\/a> *<\/span>)<\/span>url;<\/div><\/li> @end<\/span><\/div><\/li> <\/div><\/li> <\/div><\/li> <\/div><\/li> @implementation<\/span> MWWebSnapshot<\/div><\/li> <\/div><\/li> <\/div><\/li> +<\/span> (<\/span>void<\/span>)<\/span>takeSnapshotOfWebPageAtURL:<\/span>(<\/span>NSURL<\/span><\/a> *<\/span>)<\/span>url completionBlock:<\/span>(<\/span>void<\/span> (<\/span>^<\/span>)<\/span>(<\/span>NSImage<\/span><\/a> *<\/span>)<\/span>)<\/span>block;<\/div><\/li> {<\/span><\/div><\/li> \tMWWebSnapshot *<\/span>instance =<\/span> [<\/span>[<\/span>self alloc]<\/span> _initWithCompletionBlock:<\/span>block]<\/span>;<\/div><\/li> \t[<\/span>instance _beginDownloadFromURL:<\/span>url]<\/span>;<\/div><\/li> \t[<\/span>instance autorelease]<\/span>;<\/div><\/li> }<\/span><\/div><\/li> <\/div><\/li> <\/div><\/li> -<\/span> (<\/span>id<\/span>)<\/span>_initWithCompletionBlock:<\/span>(<\/span>void<\/span> (<\/span>^<\/span>)<\/span>(<\/span>NSImage<\/span><\/a> *<\/span>)<\/span>)<\/span>block;<\/div><\/li> {<\/span><\/div><\/li> \tself =<\/span> [<\/span>super init]<\/span>;<\/div><\/li> \tif<\/span> (<\/span>self !=<\/span> nil<\/span>)<\/span><\/div><\/li> \t{<\/span><\/div><\/li> \t\tcompletionBlock =<\/span> [<\/span>block copy]<\/span>;<\/div><\/li> <\/div><\/li> \t\twebView =<\/span> [<\/span>[<\/span>WebView alloc