FROM : Chad Leigh
DATE : Sat Aug 12 08:01:49 2006
On Aug 11, 2006, at 11:43 PM, Jonathan Grynspan wrote:
> You can find more information on Cocoa's graphics model at http://
> developer.apple.com/documentation/Cocoa/Conceptual/
> CocoaDrawingGuide/index.html . Of particular interest to you may be
> the sections on Graphics Contexts and Images.
I am reading that now, thanks.
Unfortunately my new image is a cached screen representation and not
the hi-res PDF that it was before. And it appears from the
CocoaDrawingGuide docs under "Creating Graphics Contexts" that you
cannot create a new PDF image using the code below. It says :-
( "Important: You cannot create a viable graphics context for PDF or
PostScript canvases using the graphicsContextWithAttributes: method.
You must go through the Cocoa Printing system instead." That
however, is what I need to do, I think.
Thanks
Chad
>
> -Jonathan Grynspan
>
> On 12-Aug-06, at 1:34 AM, Chad Leigh wrote:
>
>>
>> On Aug 11, 2006, at 11:28 PM, Jonathan Grynspan wrote:
>>
>>> Try the following:
>>>
>>> NSImage *partOfImage(NSImage *input, NSRect targetRect) {
>>> if (input) {
>>> NSImage *output = [[NSImage alloc] initWithSize: targetRect.size];
>>> [output lockFocus];
>>> [input
>>> drawAtPoint: NSZeroPoint
>>> fromRect: targetRect
>>> operation: NSCompositeCopy
>>> fraction: 1.0f];
>>> [output unlockFocus];
>>> return [output autorelease];
>>> } else {
>>> return nil;
>>> }
>>> }
>>
>> Thanks, I will. I've been reading the lockFocus and the
>> drawAtPoint stuff since I posted the first request, trying to put
>> my brain around it. This helps immensely!
>>
>> Thanks
>> Chad
>>
>>>
>>> -Jonathan Grynspan
>>>
>>> On 12-Aug-06, at 1:17 AM, Chad Leigh wrote:
>>>
>>>> I have a Cocoa app and I get a PDF image over the internet that
>>>> I store in an NSImage using
>>>>
>>>> label = [[NSImage alloc] initWithData:finalImage];
>>>>
>>>>
>>>> The image previously was a PNG image and was exactly the image
>>>> needed. Now that they pass a PDF image, they pass an image that
>>>> is an image of a complete piece of paper with the image I am
>>>> interested in placed on the upper half of this virtual paper
>>>> (the rest is just blank). The image is always in the same place
>>>> and the same size so I can determine a Rect that will always
>>>> work to select it. I want to extract this image out of the PDF
>>>> and create a new NSImage (or overwrite the old one, I don't
>>>> care) that I can use later on to print in my own existing print
>>>> routine and to display thumbnails of it.
>>>>
>>>> I do not see how to go about it. Most of the draw/composite
>>>> routines I see in NSImage rely on an existing userspace to draw
>>>> into. I want to "draw" into a new NSImage. My brain is having
>>>> a hard time adjusting to think about how to do this.
>>>>
>>>> Ideally I want something like
>>>>
>>>> NSImage *newImage = [[NSImage alloc] initFromImage:oldImage
>>>> usingRect:targetRect];
>>>>
>>>> I expect what I want to do is very easy but if someone could
>>>> point me on the way I should be exploring I would appreciate it.
>>>>
>>>>
>>>> Thanks
>>>> Chad
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <email_removed>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <email_removed>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <email_removed>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>
> _______________________________________________
> MacOSX-dev mailing list
> <email_removed>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev
DATE : Sat Aug 12 08:01:49 2006
On Aug 11, 2006, at 11:43 PM, Jonathan Grynspan wrote:
> You can find more information on Cocoa's graphics model at http://
> developer.apple.com/documentation/Cocoa/Conceptual/
> CocoaDrawingGuide/index.html . Of particular interest to you may be
> the sections on Graphics Contexts and Images.
I am reading that now, thanks.
Unfortunately my new image is a cached screen representation and not
the hi-res PDF that it was before. And it appears from the
CocoaDrawingGuide docs under "Creating Graphics Contexts" that you
cannot create a new PDF image using the code below. It says :-
( "Important: You cannot create a viable graphics context for PDF or
PostScript canvases using the graphicsContextWithAttributes: method.
You must go through the Cocoa Printing system instead." That
however, is what I need to do, I think.
Thanks
Chad
>
> -Jonathan Grynspan
>
> On 12-Aug-06, at 1:34 AM, Chad Leigh wrote:
>
>>
>> On Aug 11, 2006, at 11:28 PM, Jonathan Grynspan wrote:
>>
>>> Try the following:
>>>
>>> NSImage *partOfImage(NSImage *input, NSRect targetRect) {
>>> if (input) {
>>> NSImage *output = [[NSImage alloc] initWithSize: targetRect.size];
>>> [output lockFocus];
>>> [input
>>> drawAtPoint: NSZeroPoint
>>> fromRect: targetRect
>>> operation: NSCompositeCopy
>>> fraction: 1.0f];
>>> [output unlockFocus];
>>> return [output autorelease];
>>> } else {
>>> return nil;
>>> }
>>> }
>>
>> Thanks, I will. I've been reading the lockFocus and the
>> drawAtPoint stuff since I posted the first request, trying to put
>> my brain around it. This helps immensely!
>>
>> Thanks
>> Chad
>>
>>>
>>> -Jonathan Grynspan
>>>
>>> On 12-Aug-06, at 1:17 AM, Chad Leigh wrote:
>>>
>>>> I have a Cocoa app and I get a PDF image over the internet that
>>>> I store in an NSImage using
>>>>
>>>> label = [[NSImage alloc] initWithData:finalImage];
>>>>
>>>>
>>>> The image previously was a PNG image and was exactly the image
>>>> needed. Now that they pass a PDF image, they pass an image that
>>>> is an image of a complete piece of paper with the image I am
>>>> interested in placed on the upper half of this virtual paper
>>>> (the rest is just blank). The image is always in the same place
>>>> and the same size so I can determine a Rect that will always
>>>> work to select it. I want to extract this image out of the PDF
>>>> and create a new NSImage (or overwrite the old one, I don't
>>>> care) that I can use later on to print in my own existing print
>>>> routine and to display thumbnails of it.
>>>>
>>>> I do not see how to go about it. Most of the draw/composite
>>>> routines I see in NSImage rely on an existing userspace to draw
>>>> into. I want to "draw" into a new NSImage. My brain is having
>>>> a hard time adjusting to think about how to do this.
>>>>
>>>> Ideally I want something like
>>>>
>>>> NSImage *newImage = [[NSImage alloc] initFromImage:oldImage
>>>> usingRect:targetRect];
>>>>
>>>> I expect what I want to do is very easy but if someone could
>>>> point me on the way I should be exploring I would appreciate it.
>>>>
>>>>
>>>> Thanks
>>>> Chad
>>>>
>>>> _______________________________________________
>>>> MacOSX-dev mailing list
>>>> <email_removed>
>>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>>
>>> _______________________________________________
>>> MacOSX-dev mailing list
>>> <email_removed>
>>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>>
>> _______________________________________________
>> MacOSX-dev mailing list
>> <email_removed>
>> http://www.omnigroup.com/mailman/listinfo/macosx-dev
>
> _______________________________________________
> MacOSX-dev mailing list
> <email_removed>
> http://www.omnigroup.com/mailman/listinfo/macosx-dev






Cocoa mail archive

