Получить обрезанную фотографию человека в MonoTouch (на iPhone) - PullRequest
1 голос
/ 24 июня 2011

Я могу получить исходное изображение человека из адресной книги, но я хотел бы спросить, есть ли способ как получить обрезанное изображение (в случае, если пользователь сделал фотографию и увеличил ее часть),Я нашел способ, как сделать это в target-c:

NSData *imageData = [(NSData *)ABPersonCopyImageDataWithFormat(
          recordRef, kABPersonImageFormatThumbnail) autorelease];

Я не могу найти способ, как получить этот эскиз в MonoTouch.Я нашел только это перечисление, которое определенно как-то связано с этим, но больше ничего: (

http://docs.go -mono.com / MonoTouch.AddressBook.ABPersonImageFormat / Members

Пожалуйста, есть у кого-нибудь идеи? Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 05 июля 2011

Если щелкнуть правой кнопкой мыши свойство Image экземпляра ABPerson и выбрать «Перейти к объявлению», вы найдете код, который Monotouch реализует для этого свойства:

public NSData Image {
get {
    return (NSData)Runtime.GetNSObject(ABPerson.ABPersonCopyImageData(this.Handle));
}
set {
    if (!ABPerson.ABPersonSetImageData(this.Handle, (value ? value.Handle : IntPtr.Zero), &IntPtr ))
    {
            throw CFException.FromCFError();
    }
}

}

Вы видите, что метод ABPerson.ABPersonCopyImageData используется для возврата изображения, поэтому существует метод для получения изображения, но я думаю, что он помечен как внутренний.

Так что я думаю, что мы должны связать функции Objective C самостоятельно. Есть ли кто-нибудь, кто знает, как это сделать или имеет какой-либо опыт с этим?

0 голосов
/ 06 июля 2011

Только что нашел и опубликовал решение для функции ABPersonCopyImageDataWithFormat.

Проверьте мой собственный пост по адресу: Монотонное связывание для ABPersonCopyImageDataWithFormat

0 голосов
/ 24 июня 2011

Попробуйте MonoTouch.AddressBook.ABPerson.Image правильно.И MonoTouch.AddressBook.ABPerson.HasImage свойство удостоверять, что MonoTouch.AddressBook.ABPerson имеет изображение.

...