FROM : R.L. Grigg
DATE : Tue Mar 04 22:44:30 2008
Mike, Jens,
I created a NSImageView subclass and call [[NSGraphicsContext
currentContext] setImageInterpolation:NSImageInterpolationNone] in
the overridden -drawRect: method just before invoking [super
drawRect:aRect]. It works perfectly!!! I get a clean scaled-up image
with no blurring!
Thanks, I learned a lot!
Russ
On Mar 4, 2008, at 12:59 PM, Jens Alfke wrote:
>
> On 4 Mar '08, at 12:02 PM, R.L. Grigg wrote:
>
>> Mike, yes that is something we tried but it seems to have no
>> effect on the blurring.
>
> You have to set the interpolation at the moment the image is being
> drawn, i.e. just before the NSImage draw/composite call. You can't
> do this using a regular NSImageView; it draws the image for you and
> has no ability to configure the interpolation.
>
> You can either make a custom NSView and do the drawing in its -
> drawRect: method; or you can create a scaled-up NSImage, draw the
> small NSImage into it using the appropriate interpolation, and then
> put the scaled-up NSImage into the NSImageView.
>
> —Jens
On Mar 4, 2008, at 11:52 AM, Mike Abdullah wrote:
> When you draw the image, have you tried doing [[NSGraphicsContext
> currentContext] setImageInterpolation: NSImageInterpolationNone] ?
>
> Mike.
>
DATE : Tue Mar 04 22:44:30 2008
Mike, Jens,
I created a NSImageView subclass and call [[NSGraphicsContext
currentContext] setImageInterpolation:NSImageInterpolationNone] in
the overridden -drawRect: method just before invoking [super
drawRect:aRect]. It works perfectly!!! I get a clean scaled-up image
with no blurring!
Thanks, I learned a lot!
Russ
On Mar 4, 2008, at 12:59 PM, Jens Alfke wrote:
>
> On 4 Mar '08, at 12:02 PM, R.L. Grigg wrote:
>
>> Mike, yes that is something we tried but it seems to have no
>> effect on the blurring.
>
> You have to set the interpolation at the moment the image is being
> drawn, i.e. just before the NSImage draw/composite call. You can't
> do this using a regular NSImageView; it draws the image for you and
> has no ability to configure the interpolation.
>
> You can either make a custom NSView and do the drawing in its -
> drawRect: method; or you can create a scaled-up NSImage, draw the
> small NSImage into it using the appropriate interpolation, and then
> put the scaled-up NSImage into the NSImageView.
>
> —Jens
On Mar 4, 2008, at 11:52 AM, Mike Abdullah wrote:
> When you draw the image, have you tried doing [[NSGraphicsContext
> currentContext] setImageInterpolation: NSImageInterpolationNone] ?
>
> Mike.
>
| Related mails | Author | Date |
|---|---|---|
| R.L. Grigg | Mar 4, 20:13 | |
| Mike Abdullah | Mar 4, 20:52 | |
| R.L. Grigg | Mar 4, 21:02 | |
| Jens Alfke | Mar 4, 21:59 | |
| R.L. Grigg | Mar 4, 22:44 |






Cocoa mail archive

