I have an offscreen window containing a WebView that I'm using to generate web previews. My current code works beautifully and looks like this:

        NSView *view = previewWebView.mainFrame.frameView.documentView;
        
        NSRect targetRect = view.bounds;
                
NSBitmapImageRep *imageRep = [view bitmapImageRepForCachingDisplayInRect:targetRect];
        unsigned char *bitmapData = [imageRep bitmapData];
        
        if (bitmapData != NULL)
                bzero(bitmapData, [imageRep bytesPerRow] * [imageRep 
pixelsHigh]);
                
        [view cacheDisplayInRect:targetRect toBitmapImageRep:imageRep];
        
NSImage *renderedImage = [[NSImage alloc] initWithSize:[imageRep size]];
        [renderedImage addRepresentation:imageRep];

However, I'm really only interested in the first page or so of data. So I figure I just make targetRect smaller by making the height the same as the width (if it's larger) prior to creating the image rep, like so:

        if( NSHeight(targetRect) > NSWidth(targetRect) )
                targetRect.size.height = NSWidth(targetRect);

This either produces an empty image rep or a chunk of the image the size of the intersection of the visible area of view and the rect you'd get if targetRect was aligned to the bottom left (however view is flipped). Manipulating targetRect doesn't seem to help.

I'm stumped, any ideas?

->Ben
--
Ben Lachman
Acacia Tree Software

http://acaciatreesoftware.com

email: blach...@mac.com
twitter: @benlachman
mobile: 740.590.0009



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to