UIImageView的图片切割问题

UIImage 虽然可以加载,显示各种格式的位图,甚至可以同时加载图片,接下来依次播放多张图片形成动画。UIimage功能依然是有限的,它不能对图片进行缩放、旋转,不能“挖取”原图片的制定区域等,这些功能可以借助Quartz2D的CGImageRef来实现。

UIImage与CGImageRef之间可以相互转换,CGImageRef并不是面向对象的API,也不是类,只是一个指针类型,Quartz2D对CGImageRef的定义是Typedef Struct CGImage *CGImageRef 


在view上显示一张图片时,由于frame大小的限制,显示的图片可能会产生压缩的感觉,样子会不好看,因此我们会将图片进行切割。然后当点击图片时,再全部展示到view上。

UIImage *image = [UIImageimageNamed:@"10.png"];

//首先要有一张图片,生成一个image

CGRect rects = CGRectMake(image.size.width *0.3, image.size.height *0.3, 100,200);

//通过image.size获得图片的大小,根据自己的需要获得自己想要切图的部分的坐标

CGImageRef image1 =CGImageCreateWithImageInRect([imageCGImage], rects);

//切割

UIImage *image2 = [UIImageimageWithCGImage:image1];

UIImageView *view = [[UIImageViewalloc]initWithFrame:CGRectMake(0,0,100, 200)];

view.image = image2;

[self.view addSubview:view];

这样就会在view上显示一张切割之后的图片。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值