Re: NSImage resizing
Re: NSImage resizing
- Subject: Re: NSImage resizing
- From: "Parimal Das" <email@hidden>
- Date: Thu, 15 Jan 2009 14:01:05 +0530
Heinrich
when i am using the code corrected by U
*
NSImage *myIcon = [[NSWorkspace sharedWorkspace]
iconForFile:filePath];
NSLog(@"%@", myIcon); // check 1
NSLog(@"OK1");
NSSize imageSize = { 384.0, 384.0 }; // in points (384 pts = 512 px at 96
dpi resolution)
[myIcon setSize:imageSize];
NSBitmapImageRep *bitmapImageRep2 = (NSBitmapImageRep *)[myIcon
bestRepresentationForDevice:nil];
[bitmapImageRep2 setSize:imageSize]; // <--- do not forget !!!
NSLog(@"%@", bitmapImageRep2); // check 2
[[bitmapImageRep2 representationUsingType:NSJPEGFileType properties:nil]
writeToFile:destPath
atomically:YES];
NSLog(@"image resized"); // check 3
*
i am getting the following output error-
2009-01-15 13:43:09.313 te[747:10b] *NSImage 0x117340 Size={32, 32} Reps=(
NSIconRefBitmapImageRep 0x117e30 Size={128, 128}
ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=128x128 Alpha=YES
Planar=NO Format=0,
NSIconRefBitmapImageRep 0x11cdd0 Size={48, 48}
ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=48x48 Alpha=YES
Planar=NO Format=0,
NSIconRefBitmapImageRep 0x118280 Size={32, 32}
ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=32x32 Alpha=YES
Planar=NO Format=0,
NSIconRefBitmapImageRep 0x11ce80 Size={16, 16}
ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=16x16 Alpha=YES
Planar=NO Format=0
)*
2009-01-15 13:43:09.314 te[747:10b] *OK1*
2009-01-15 13:43:09.315 te[747:10b] *NSIconRefBitmapImageRep 0x117e30
Size={384, 384} ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32
Pixels=128x128 Alpha=YES Planar=NO Format=0*
*Segmentation fault*
-----> program exited
this segmentation fault is coming just before the image writing step (notice
check 3 is not coming).
ie program is crashing before the step
*[[bitmapImageRep2 representationUsingType:NSJPEGFileType properties:nil]
writeToFile:destPath
atomically:YES];
*i am really clueless about why it is happening ???? also there is a big
difference between general NSImage and what i am getting in myIcon (see its
a mixture of 4 images as in the .icn files)*
*
On Tue, Jan 13, 2009 at 4:36 PM, Heinrich Giesen <
email@hidden> wrote:
>
> On 09.01.2009, at 15:11, Parimal Das wrote:
>
> in my application i need to resize a .jpg image through a command line
>>
>
>
> What does it mean: "resize" ?. Every NSBitmapImageRep has two sizes:
> a (print-)size which says how long width and hight (expressed in inch, cm
> or printerpoints or ...)
> of the depicted (printed) image are. This value can be set (changed) with
> -setSize:.
> And it has a (storage-)size which says how many pixel the image has
> expressed as a dimensionless number.
> The connection between these two "sizes" is the "resolution". Changing the
> pixelnumbers results
> in a rendering process.
>
> Next point: An icon (NSImage) is a container of several NSBitmapImageReps.
> You have to select
> the one that fits best.
>
> That lets me make a proposal which is close to your first try:
>
> NSImage *icon = [[NSWorkspace sharedWorkspace] iconForFile:filePath];
>>
>> NSSize imageSize = { 384.0, 384.0 }; // in points (384 pts = 512 px at
>> 96 dpi resolution)
>>
>> [icon setSize:imageSize];
>> NSBitmapImageRep *bitmapImageRep = (NSBitmapImageRep *)[icon
>> bestRepresentationForDevice:nil];
>> [bitmapImageRep setSize:imageSize]; // <--- do not forget !!!
>> [[bitmapImageRep representationUsingType:NSJPEGFileType properties:nil]
>> writeToFile:destPath
>> atomically:YES];
>>
>>
>
> --
> Heinrich Giesen
> email@hidden
>
>
>
--
--
Warm Regards,
Parimal Das
_______________________________________________
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