Pau*_*dke 8 iphone xcode uiimageview
我正在尝试创建一个带有一些图像的UIPickerView,但我似乎无法弄清楚如何使图像适合视图(现在它们太大而且相互重叠).
我正在尝试使用函数在绘制时调整每个图像的大小,但是在调用函数时我遇到错误,尽管程序编译并运行正常(图像没有调整大小除外).调整大小功能和初始化函数是:
-(UIImage *)resizeImage:(UIImage *)image width:(int)width height:(int)height {
NSLog(@"resizing");
CGImageRef imageRef = [image CGImage];
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);
//if (alphaInfo == kCGImageAlphaNone)
alphaInfo = kCGImageAlphaNoneSkipLast;
CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef),
4 * width, CGImageGetColorSpace(imageRef), alphaInfo);
CGContextDrawImage(bitmap, CGRectMake(0, 0, width, height), imageRef);
CGImageRef ref = CGBitmapContextCreateImage(bitmap);
UIImage *result = [UIImage imageWithCGImage:ref];
CGContextRelease(bitmap);
CGImageRelease(ref);
return result;
}
- (void)viewDidLoad {
UIImage *h1 = [UIImage imageNamed:@"h1.png"];
h1 = [self resizeImage:h1 width:50 height: 50];
UIImageView *h1View = [[UIImageView alloc] initWithImage:h1];
NSArray *imageViewArray = [[NSArray alloc] initWithObjects:
h1View, nil];
NSString *fieldName = [[NSString alloc] initWithFormat:@"column1"];
[self setValue:imageViewArray forKey:fieldName];
[fieldName release];
[imageViewArray release];
[h1View release];
}
Run Code Online (Sandbox Code Playgroud)
控制台输出:
TabTemplate [29322:207]调整大小
TabTemplate [29322]:CGBitmapContextCreate:不支持的颜色空间
TabTemplate [29322]:CGContextDrawImage:无效的上下文
TabTemplate [29322]:CGBitmapContextCreateImage:无效的上下文
我无法弄清楚出了什么问题.任何帮助是极大的赞赏.
Jha*_*iya 16
UIImage如果您使用contentMode属性,则无需调整大小UIImageView.
myImageView.contentMode = UIViewContentModeScaleAspectFit;
Run Code Online (Sandbox Code Playgroud)
或者如果您仍想调整UIImage的大小,请查看下面的SO帖子.
tri*_*ons 15
使用下面的内容使用宽高比缩放图像,然后将图像剪切为imageview的边界.
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26622 次 |
| 最近记录: |