请在任何网络浏览器和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]];
有没有办法重新接收收到的图像,以便它可以完全适合屏幕
注意:我不想滚动来查看图像。我想立刻完全适应它。
提前致谢。
答案 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上坐在办公室里没问题,但在现场外会导致你的应用程序开始被看门狗杀死。