• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Forcing NSImage to cache images at certain sizes
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Forcing NSImage to cache images at certain sizes


  • Subject: Re: Forcing NSImage to cache images at certain sizes
  • From: "B.J. Buchalter" <email@hidden>
  • Date: Sat, 22 May 2010 03:14:56 -0400


On May 21, 2010, at 10:10 PM, Ken Ferry wrote:

Hi BJ,

On Fri, May 21, 2010 at 2:44 PM, B.J. Buchalter <email@hidden> wrote:
I read the NSImage and Cocoa drawing guide docs, which tends to indicate that calling drawInRect:fromRect:operation:fraction: on an NSImage will cause it to create a cached image rep that matches the scaled image so that the next time it is drawn it does not need to be scaled again.


The docs haven't fully integrated new info from 10.6, when NSImage changed a bunch. Take a look at the AppKit release notes.

Oh -- sorry; I am testing on 10.5 -- I should have mentioned that.

That is not what I am seeing here, and the scaling is definitely taking a nontrivial amount of time when redrawing my views. I have played around with setting the caching and scaling on the NSImage, but it doesn't appear to be having any impact (the internal image rep for the image never changes).

Could you attach a test app please? There's more than one thing that could be the issue.

I'll try to reduce my code to something very simple.

Basically what I am seeing is that when I call drawInRect:fromRect:operation:fraction:, no mater what I pass in the for drawInRect (which causes the image to draw scaled), if I NSLog(@"%@", theImage) after doing the drawing I get:

Drawing Image with width: 49.000000 and height: 49.000000
NSImage 0x13e770 Size={64, 64} Reps=(
NSBitmapImageRep 0x13c4f0 Size={64, 64} ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=64x64 Alpha=YES Planar=NO Format=2 CGImage=0x16007270
)


Note that the image has not cached a reduced NSBitmapImageRep or NSCachedImageRep with Size={49, 49}

Best regards,

B.J. Buchalter
Metric Halo
http://www.mhlabs.com
	


_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Forcing NSImage to cache images at certain sizes
      • From: Ken Ferry <email@hidden>
References: 
 >Forcing NSImage to cache images at certain sizes (From: "B.J. Buchalter" <email@hidden>)
 >Re: Forcing NSImage to cache images at certain sizes (From: Ken Ferry <email@hidden>)

  • Prev by Date: Re: NSWindowController for Prefs XIB Question (Core Data involved) - Solved
  • Next by Date: getting file time stamp from a NTFS volume
  • Previous by thread: Re: Forcing NSImage to cache images at certain sizes
  • Next by thread: Re: Forcing NSImage to cache images at certain sizes
  • Index(es):
    • Date
    • Thread