我正在调整图像大小以使其适合条形图。我需要调整它的大小,因为图像在数据库中,这也用于Android中的同一个应用程序。问题是这个代码在iOS 6.1
中运行良好,但在较低的5.0 5.1
中我在条形图中有一个黑色图像。代码如下:
CGSize newSize=CGSizeMake(320,44);
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self.navigationController.navigationBar setBackgroundImage:newImage forBarMetrics:UIBarMetricsDefault];
这种错误行为的一些想法?
由于
答案 0 :(得分:1)
使用以下方法将特定高和宽度与图像
一起使用+ (UIImage*)resizeImage:(UIImage*)image withWidth:(int)width withHeight:(int)height
{
CGSize newSize = CGSizeMake(width, height);
float widthRatio = newSize.width/image.size.width;
float heightRatio = newSize.height/image.size.height;
if(widthRatio > heightRatio)
{
newSize=CGSizeMake(image.size.width*heightRatio,image.size.height*heightRatio);
}
else
{
newSize=CGSizeMake(image.size.width*widthRatio,image.size.height*widthRatio);
}
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
此方法返回 NewImage ,具有您指定的特定大小:) 此代码可能对您有所帮助:))