UIImage
和UIImageView
有什么区别?能给个例子解释一下吗?
UIImage
和UIImageView
有什么区别?能给个例子解释一下吗?
例子:
UIImage *bgImage = [UIImage imageNamed:@"Default@2x.png"];
UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:bgImage];
backgroundImageView.frame = [[UIScreen mainScreen] bounds];
UIImage
对象是一种高级方式来显示图像数据。您可以从文件、Quartz图像对象或接收到的原始图像数据创建图像。UIImage类还提供了几个选项,使用不同的混合模式和不透明度值将图像绘制到当前的图形上下文中。图像对象是不可变的,因此在创建后无法更改其属性。这意味着通常在初始化时指定图像的属性,或者依赖于图像的元数据提供属性值。然而,在某些情况下,UIImage类提供了方便的方法,以使用自定义值获取图像的副本。
因为图像对象是不可变的,所以它们也不能直接访问其底层的图像数据。但是,您可以使用
UIImagePNGRepresentation
和UIImageJPEGRepresentation
函数获取包含PNG或JPEG表示的图像数据的NSData对象。系统使用图像对象来表示在支持设备上使用相机拍摄的静止图片。要拍摄照片,请使用UIImagePickerController类。要将照片保存到'相册'中,请使用
UIImageWriteToSavedPhotosAlbum
函数。
UIImageView
提供了一个基于视图的容器,用于显示单个图像或动画系列的图像。对于动画图像,UIImageView
类提供了控件来设置动画的持续时间和频率。您还可以自由地启动和停止动画。默认情况下,新的图像视图对象配置为忽略用户事件。如果要处理
UIImageView
的自定义子类中的事件,则必须在初始化对象后显式更改userInteractionEnabled
属性的值为YES
。当
UIImageView
对象显示其图像之一时,实际行为基于图像和视图的属性。如果图像的leftCapWidth
或topCapHeight
属性中的任何一个不为零,则根据这些属性中的值拉伸图像。否则,根据视图的contentMode属性,在图像视图中缩放、大小适应或定位。建议(但不是必需)使用相同大小的图像。如果图像大小不同,则每个图像将根据该模式单独调整大小以适应。与
UIImageView
对象关联的所有图像应使用相同的比例。如果您的应用程序使用具有不同比例的图像,则它们可能会呈现不正确。
UIImage
包含图像的数据。
UIImageView
是一个自定义视图,用于显示 UIImage
。
简单来说:您需要创建一个UIImage
对象的实例来保存图像数据,像这样:
NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"/picture.jpg"]; //assuming your image is in your app's bundle
UIImage *img = [[UIImage alloc]initWithContentsOfFile:sourcePath];
接下来你可以通过IB或代码创建一个UIImageView
实例,用于在屏幕上显示你的图像,像这样:
[imageView1 setImage:img]; //assume you already create an instance of UIImageView named imageView1
UIImage
是一个保存图像字节的数据对象。
UIImageView
是一个显示UIImage
数据的控件。
UIImage
对象存储来自图像的数据(即来自png文件的数据)
UIImageView
对象用于显示UIImage
UIimage
是一个对象,它存储数据(Jpg,png...),UIImageView
类包含UIImage
作为属性。 UIImageView
可以有多个UIImages
,而UIImage
是不可变的。以前我一直感到困扰,当你创建一张图片时:
var image: UIImageView!
image.image = UIImage.init(named: "image")
这非常简单,你可以使用UIimageView
来创建一个带有UIImage
的图像。
UIImage
用于显示图像,而UIImageView
则是该UIImage
的容器。
UIImage保存图片数据并在UIImageView上显示。
UIImageView是一种用于显示图片的容器类型。
UIImageView *myImage = [[UIImageView alloc]init];
[myImage setImage:[UIImage imageNamed:@"1.png"]];