Измените размер диаграммы Google, чтобы она поместилась в iPhone - PullRequest
0 голосов
/ 07 июля 2011

Пожалуйста, откройте эту ссылку в любом веб-браузере и в iPhone (симулятор подойдет)

https://chart.googleapis.com/chart?chs=600x225&cht=p&chtt=Consumption+by+Appliances&chdl=Other+$4.62|Pool%20Pump+$6.51|Refrigerator+$1.51|Clothes%20Dryer+$1.50|Always%20On+$7.12&chl=Other+21%|Pool%20Pump+30%|Refrigerator+7%|Clothes%20Dryer+7%|Always%20On+33%&chd=t:4.62252,6.51,1.5072,1.50252,7.1232&chds=0,7.1232

Ширина изображения слишком велика, чтобы поместиться в iPhone (600 px).Однако я хочу изменить его размер, чтобы он поместился на экране iPhone.Я попробовал следующий код изменения размера, но безуспешно.

CGRect area = CGRectMake(0, 0, newWidth, newHeight);
CGSize size = area.size;
UIGraphicsBeginImageContext(size);

[oldImage drawInRect:area];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Я знаю, что вместо 600 px, если записать 320 px, он уместится на экране, но моя проблема в том, что я получаю изображение с веб-сервера, которыйиспользует диаграммы Google для создания диаграммы (в виде изображения в формате PNG), и я получу URL-адрес изображения диаграммы Google с моего веб-сервера, который я не могу настроить.

Я сохраняю полученное изображение URL в UIImage, используя следующий код

   NSURL *url = [NSURL URLWithString:urlAddress];
   UIImage *image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL:url]]; 

Итак, есть ли способ изменить размер полученного изображения, чтобы оно полностью уместилось на экране

Примечание. Я не хочу выполнять прокрутку для просмотра изображения.Я хочу полностью подогнать его сразу.

Заранее спасибо.

Ответы [ 2 ]

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

Если ваш вопрос «как я могу изменить то, что я получаю с сервера», я не думаю, что это вопрос iOS.И ответ @ HaveyouMetPrabu выглядит для меня великолепно.

Если ваш вопрос «каков лучший способ изменить размер этого изображения на устройстве iOS», то я бы сказал Image I / O .

Слово предостережения, код;

NSURL *url = [NSURL URLWithString:urlAddress];
UIImage *image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL:url]]; 

блокируется во время загрузки данных.Посидеть в вашем офисе на быстром Wi-Fi не составит проблемы, но в полевых условиях ваше приложение будет убито сторожевым таймером.

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

Почему вы не можете изменить размер в самом URL

https://chart.googleapis.com/chart?chs=300x200&chd=t:60,40&cht=p3&chl=Hello|World

Дайте любое разрешение, которое вам подходит.

...