Отправить значок компьютера на iPhone через Bonjour - PullRequest
1 голос
/ 23 июля 2011

OK. Итак, я исследовал это в течение последних двух часов, но мне еще предстоит найти решение. В настоящее время я занимаюсь разработкой серверного приложения для Mac и клиентского приложения для iPhone, с которым оно может взаимодействовать. То, что я пытаюсь сделать, очень просто: отправить значок компьютера с сервера на iPhone. И под значком компьютера я подразумеваю значок, который вы видите, когда заходите в Finder, выбираете компьютер из «Устройства» и «Получить информацию». Большая версия этой иконы. После поиска в Google я обнаружил, что [NSImage imageNamed:NSImageNameComputer] возвращает искомое изображение. Поэтому я попытался отправить данные изображения, возвращенные TIFFRepresentation клиенту, а затем создать UIImage с данными TIFF, но когда я затем нарисовал воссозданное изображение в виде изображения, оно оказалось уменьшенной версией компьютера. значок. Я не знаю много о NSImage, но я знаю, что использование setSize: только устанавливает размер, когда вы рисуете изображение. Поэтому, если кто-нибудь знает, как получить большую версию иконки компьютера и воссоздать ее в UIImage, я был бы очень признателен, если бы вы поделились этими знаниями со мной. Я хотел бы выяснить это как можно скорее. Спасибо.

1 Ответ

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

Вы должны преобразовать свой NSImage в CGImageRef, а затем установить желаемый размер.Этот код работает на Snow Leopard (10.6.6) - не уверен в старых версиях:

NSImage *computerImage = [NSImage imageNamed:NSImageNameComputer];
NSRect computerImageRect = NSMakeRect(0, 0, 512, 512);
CGImageRef computerImageCG = [computerImage CGImageForProposedRect:&computerImageRect 
                                                           context:nil hints:nil];

Best,

-Gabriel

...