Re: image type of the AdressBook image data
Re: image type of the AdressBook image data
- Subject: Re: image type of the AdressBook image data
- From: "Wayne Shao" <email@hidden>
- Date: Tue, 5 Aug 2008 09:51:57 -0700
Heinrich, Ken,
Thank you both for the information.
Wayne
On Tue, Aug 5, 2008 at 2:51 AM, Heinrich Giesen
<email@hidden> wrote:
>
> On 05.08.2008, at 10:03, Wayne Shao wrote:
>
>> The imageData method returns NSData*. Is there anyway to know the
>> image type (e.g, PNG, TIFF, or JPEG) of the data?
>
>
> besides that what Ken Ferry wrote you may also use (as I do) a low level
> way to determine the image type: check for the magic number of image data.
>
> const unsigned char *bytes = [imageData bytes];
> //NSLog( @"x x x x ", bytes[0], bytes[1], bytes[2], bytes[3]
> );
> BOOL isTIFF_BigEndian = (bytes[0]=='M') && (bytes[1]=='M');
> BOOL isTIFF_LittleEndian = (bytes[0]=='I') && (bytes[1]=='I');
> BOOL isJPEG = (bytes[0]==0xff) && (bytes[1]==0xd8) && (bytes[2]==0xff);
> BOOL isPNG = (bytes[0]==0x89) && (bytes[1]=='P') && (bytes[2]=='N') &&
> (bytes[3]=='G')
> && (bytes[4]==0x0d) && (bytes[5]==0x0a) && (bytes[6]==0x1a)
> && (bytes[7]==0x0a);
> BOOL isGIF = (bytes[0]=='G') && (bytes[1]=='I') && (bytes[2]=='F');
> BOOL isPDF = (bytes[0]=='%') && (bytes[1]=='P') && (bytes[2]=='D')
> && (bytes[3]=='F') && (bytes[4]=='-');
> BOOL isBMP = (bytes[0]=='B') && (bytes[1]=='M');
> BOOL isICNS = (bytes[0]=='i') && (bytes[1]=='c') && (bytes[2]=='n') &&
> (bytes[3]=='s');
>
>
> The Carbon/Cocoa functions and methods do nothing else, they test the magic
> number.
>
> Heinrich
>
> --
> Heinrich Giesen
> email@hidden
>
>
>
_______________________________________________
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