Search code examples
outlooksizephoto

Outlook 2010 - assign fullsized pictures on a contact card - HOW?


I've faced with the next problem: I do not understand why but then I am assigning the proper picture in a high resolution (300x300dpi, file size ~1.5MB, photo's dimensions 700x500px) to my favorite contact at Outlook 2010 - this f... Outlook is stretching down my picture. As a result I have picture with next output data: unknown dpi, file size ~15KB, photo's dimensions 300x200. Tested by two different operations available inside the contact's card dialog window: calling the context menu on a thumbnail of my picture - and choosing menu item "COPY". And exporting of the contact into the vCard file. After that - decoding saved picture from base64 format into a real binary JPEG format.

Questions: WHY outlook is changing the original quality and output data of my picture? And which final dimensions the Outlook can accept as nonchangable? Only photo 200x300? HOW to overcome this problem and forcibly to assign to contact's card exactly that picture which I wanted?


Solution

  • The picture will be resized if its dimensions are greater than 314x314 pixels and/or the size is greater than 50,000 bytes.

    You can assign a picture with different attributes, but you will need to add it as a regular attachment (Attachments.Add), then add all the picture related properties using Attachment.PropertyAccesor.SetProperty - look at a contact with an existing picture with OutlookSpy (I am its author): select the contact, click IMessage, go to the GetAttachmentTable tab, double click to open the attachment. In particlar, you will need to add PR_ATTACHMENT_CONTACTPHOTO, PR_ATTACHMENT_FLAGS, PR_ATTACHMENT_HIDDEN, PR_ATTACHMENT_LINKID, PR_ATTACH_FLAGS properties.

    Keep in mind that if the picture is too big, Outlook will not show it in the Card view in the folder.