Исключение при получении данных из адресной книги - PullRequest
0 голосов
/ 26 августа 2010

Я получаю это исключение при получении данных из адресной книги. Я проверил через интернет, но не получил никакой помощи для этого.

Переполнение, выделяющее хранилище растровых изображений. Невозможно вернуть растровое изображение с 320 байтами на строку, высотой -2147483648 и 1 плоскостью.

Я использую AddressBook Framework для извлечения данных из адресной книги. это проблема с памятью или из-за получения информации об аватаре, которую я установил в контактной книге.

Пожалуйста, помогите. Если какие-либо предложения или рекомендации для этого, пожалуйста, дайте его ...

Ответы [ 2 ]

1 голос
/ 30 августа 2010

Спасибо за ваш ответ

Как вы сказали, я проверил весь код для рисования большого изображения или вида. И нашел ниже функцию, которую я использовал для изменения размера изображения. Теперь изменение размера изображения будет выполнено на стороне сервера. У меня есть больше сомнений по этому вопросу. Вы можете проверить это в блоке кода ниже. Сейчас жду от клиента этого вопроса.

Еще раз спасибо за вашу помощь.

</p> <pre><code>-(NSData *)getCompressedImageDataFromData:(NSData *)imData { NSImage *pImage = [[[NSImage alloc] initWithData:imData] autorelease]; NSSize orgSize = [pImage size]; int widthInput, heightInput; widthInput = orgSize.width; heightInput = orgSize.height; if(widthInput <= 72 && heightInput <= 72) return imData; double newheight = heightInput; NSSize newSize; if(widthInput >= 72) { double ratio; ratio = widthInput / heightInput; newheight = 72 / ratio; newSize = NSMakeSize (72, newheight); } else newSize = NSMakeSize(widthInput, newheight); NSImage *outputImage = [[[NSImage alloc] initWithSize:newSize] autorelease]; if(![outputImage isValid]) return nil; [outputImage lockFocus]; [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh]; [pImage drawInRect:NSMakeRect(0, 0, newSize.width, newSize.height) fromRect:NSZeroRect operation:NSCompositeCopy fraction:1.0]; [outputImage unlockFocus]; NSData *imageData = [outputImage TIFFRepresentationUsingCompression:NSTIFFCompressionJPEG factor:0]; return [imageData mutableCopy]; }

0 голосов
/ 26 августа 2010

Вы создаете один большой вид или изображение, в которое вы рисуете несколько контактов в адресной книге?Похоже, вы пытаетесь создать слишком большое изображение / представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...