On Fri, Jun 6, 2008 at 4:16 PM, Adam R. Maxwell <[EMAIL PROTECTED]> wrote: > > On Jun 6, 2008, at 3:57 PM, j o a r wrote: > >> >> On Jun 6, 2008, at 3:50 PM, Randall Meadows wrote: >> >>> The images are captured from a digital camera, which is oriented in a >>> portrait fashion. Once downloaded from the camera, the images are rotated >>> (using jpegtran) to a "normal" orientation, the EXIF is edited to match >>> (using exiftool, since jpegtran leaves the flag alone when it rotates it), >>> and finally an icon is added to the file using this code: >>> >>> NSImage *preview = [[NSImage alloc] initWithContentsOfFile:filePath]]; >>> [[NSWorkspace sharedWorkspace] setIcon:preview forFile:filePath >>> options:0]; >>> >>> So the image is created from the rotated, EXIF-fixed image file. The >>> image file displays correctly in Preview, Safari, QuickLook, and its Finder >>> preview icon is correct also. >>> >>> Why come then does the IKImageBrowserView always initially show the image >>> rotated 90° CW, and then a little while later refresh it to be correct? >>> Sorry, not even INITIALLY, its whenever the view updates from the data >>> source. The data source simply returns the full path to the image in the >>> filesystem to display when requested. I've already determined that the >>> image file itself is correct in all ways. >>> >>> You can see a short (~30 second) QT movie of this strange behavior in >>> action at <http://idisk.mac.com/callipygiani/Public/RotationWTF.mov>. The >>> movie shows several images being captured and added to the view, a couple >>> deleted from the view, and then another captured and added. >>> >>> Any tips or suggestions as to what is going on would be GREATLY >>> appreciated. I really don't want to have to write my own image browser >>> view... >> >> >> The images probably have an embedded thumbnail / preview that is not >> updated when you rotate the main image using "jpegtran". My bet is that the >> image browser for performance reasons by default use an existing embedded >> thumbnail / preview to improve perceived performance. > > If that's the case, maybe you need to implement -imageVersion from the > IKImageBrowserItem protocol and bump the version number after you rotate it? > I haven't tried that, since I wrote my own image browser view ;).
Joar's right on - ImageKit does use the thumbnail if it's there. It isn't the image browser's cache that's wrong, it's the original file. It has an embedded thumbnail that is in a different orientation than the main image data. -Ken _______________________________________________ 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 [EMAIL PROTECTED]