It's been a while, but as I recall, the cure for me was to add the photo to contacts on the iPhone directly, as opposed to importing the photo from a sync source to the iPhone.
In other words, if the person's photo is coming over on a gmail sync, go ahead and edit the person's contact information on your iPhone directly and re-add (or edit) the photo there. Make that the most recent change to the person's photo, and that should solve the issue.
Hi - as i see it, the solution proposed above will only work until the next time the contacts are synced.
This worked for me;
My guess is that on your iPhone you sync your contacts with google as an "Exchange" account - or perhaps the "Google" account.
What fixed the problem for me;
Stop syncing with gmail the way you used to do, be either dropping the account on the iPhone or deselecting contacts from the account.
Next; add new account. Choose "Other",, choose "Add CardDAV-account, server: google.com, username: your gmail username, password: your gmail password, description: whatever you like.
Save account, and allow the contacts to sync.
Now, on your iPhone, add pictures to your contacts. These should stay as "fullscreen" even after future syncs.
Annoyingly this means, that if you edit your contacts through another device og through gmail - then the pictures will once again be "small". However - if you can live with primarily modifying contacts on your phone - then this should work.
Hope this solves your problem
Actually, the solution I mentioned above continues to work after syncing. The iPhone seems to use the most recently added photo when choosing between the one added directly to the iPhone and that added to the external sync source. So as long as the one added directly to the iPhone is most recent, all is well.
Hmm - now my solution seems not to work.
Could you do me a favor and try this:
On your iPhone; Add a highres contact image to a contact, add the note "Sync test 1" to the contact.
On another device (your iPad for instance) - open contacts, verify you see "Sync test 1" for the contact you modified.
Change "Sync test 1" to "Sync test 2".
Once your see "Sync test 2" on the contact on the iPhone - is the contact image still in highres quality?
Because if it is, then i am baffled - and would like to know more about how you sync with gmail
I have tried both "Exchange" and "CardDav" and no matter what - whenever i modify a contact from another device than the one i added the highres photo on - the image gets overwritten with a lowres one.