调整Google图表图片的大小以适合iPhone

时间:2011-07-07 11:44:55

标签: iphone image resize

请在任何网络浏览器和iPhone中打开此链接(模拟器都可以)

https://chart.googleapis.com/chart?chs=600x225&cht=p&chtt=Consumption+by+Appliances&chdl=Other+ $ 4.62 |普尔%20Pump + $ 6.51 |冰箱+ $ 1.51 |衣服%20Dryer + $ 1.50 |总是%20On + $ 7.12安培; CHL =其他+ 21%|普尔%20Pump + 30%|冰箱+ 7%|衣服% 20Dryer + 7%|总是%20On + 33%安培; CHD = T:4.62252,6.51,1.5072,1.50252,7.1232&安培; CHDS = 0,7.1232

图像的宽度很大,适合iPhone(600像素)。但是我想调整它的大小 适合iPhone屏幕。我尝试了以下调整代码但没有成功。

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

[oldImage drawInRect:area];

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

我知道如果写入320 px而不是600像素它将适合屏幕,但我的问题是我从使用谷歌图表生成图表(作为PNG图像)的网络服务器获取图像,我将收到来自我的网络服务器的谷歌图表图片网址,我无法调整。

我使用以下代码

将收到的URL图像存储在UIImage中
   NSURL *url = [NSURL URLWithString:urlAddress];
   UIImage *image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL:url]]; 

有没有办法重新接收收到的图像,以便它可以完全适合屏幕

注意:我不想滚动来查看图像。我想立刻完全适应它。

提前致谢。

2 个答案:

答案 0 :(得分:0)

为什么你不能改变URL本身的大小

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

给出适合你的任何分辨率。

答案 1 :(得分:0)

如果您的问题是“如何更改从服务器获取的内容”,我认为这不是iOS问题。 @ HaveyouMetPrabu的答案看起来很棒。

如果您的问题是“在iOS设备上调整此图片大小的最佳方法”,那么我会说Image I/O

谨慎,代码;

NSURL *url = [NSURL URLWithString:urlAddress];
UIImage *image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL:url]]; 
在下载数据时

阻止。在快速Wifi上坐在办公室里没问题,但在现场外会导致你的应用程序开始被看门狗杀死。

相关问题