2 vikeytoy vikeyToy 于 2013.01.28 14:43 提问

在ios中特定形状剪裁图片

如何用特定的形状剪裁覆盖UIImageView的图片?效果图如下:

剪裁效果图

2个回答

redCoral_
redCoral_   2013.01.28 15:30
已采纳

用两个图片和下面的方法实现。 图片1是被剪裁的图片,图片2是需要剪裁的形状。

- (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

        CGImageRef maskRef = maskImage.CGImage; 

        CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
            CGImageGetHeight(maskRef),
            CGImageGetBitsPerComponent(maskRef),
            CGImageGetBitsPerPixel(maskRef),
            CGImageGetBytesPerRow(maskRef),
            CGImageGetDataProvider(maskRef), NULL, false);

        CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
        return [UIImage imageWithCGImage:masked];

    }

可以去网上搜相关教程,有的说的很详细。

redCoral_
redCoral_ UIImage *small = [UIImage imageWithCGImage:original.CGImage scale:0.25 orientation:original.imageOrientation];
5 年多之前 回复
vikeyToy
vikeyToy 要是我想调整尺寸呢?
5 年多之前 回复
wzkoo
wzkoo   2017.03.30 14:05

加入ios底层技术研究群 群号:149615208

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
在ios中特定形状剪裁图片的实现
原问题来自于CSDN问答频道,更多解决方案见http://ask.csdn.net/questions/1260 如何用特定的形状剪裁覆盖UIImageView的图片?效果图如下: 解决方案: 用两个图片和下面的方法实现。 图片1是被剪裁的图片,图片2是需要剪裁的形状。 - (UIImage*) maskImage:(UIImage *)image withMask:(UIImage
iOS图片不规则剪切
最近项目中需求中增加了一个聊天图片剪切成不规则的要求,查看了一下相关资料。结果用iOS SDK自带的API就可以实现如下这个效果。          // 传进去一个UIView进行绘制,返回一个 CAShapeLayer 对象,然后把改对象设置为view.layer.mask属性。     UIImageView *tempView = [[UIImageView alloc]
任意不规则形状的图片剪裁
转自:http://blog.csdn.net/lexiaoyao20/article/details/6607225 原理:根据选择的区域(区域的选择需要用到GraphicsPath),根据区域可以得到这部分区域的边境矩形,从而不需要循环整张图片,只需要循环边境矩形,将矩形中的选择区域复制到另一种图片,这样大大提高了效率。根据选择的区域,可以得到复制出位于GraphicsPath中的这部分
iOS: 对图片进行不规则剪裁
效果如下图:       首先,在工程Bundle中加入测试用的图片文件,比如“meteoralp.jpg”。   首先,我们需要把图片展示在界面上。很简单的操作,唯一需要注意的是由于CGContextDrawImage会使用Quartz内以左下角为(0,0)点的坐标系,所以需要使用CGContextTranslateCTM函数和CGContextScaleC
iOS 8.3 下实现相册选取图片并裁剪压缩保存demo
iOS 8.3 下实现相册选取图片并裁剪压缩保存功能
iOS Paths and Shapes (路径和形状)路径裁剪
http://www.knowsky.com/882028.html 一个图形上下文状态有很多个图形上下文设置构成,这个状态决定了在这个时刻绘画的行为和外观。下面列举了Core Graphics 函数,同时跟着对应的UIKit 提供的封装好的方便的方法: 线的粗细和虚线样式 CGContextSetLineWidth, CGContextSetLineDash (
【Android】0行代码实现任意形状图片展示--android-anyshape
前言在Android开发中, 我们经常会遇到一些场景, 需要以一些特殊的形状显示图片, 比如圆角矩形、圆形等等。关于如何绘制这类形状, 网上已经有很多的方案,比如自定义控件重写onDraw方法, 通过canvas的各种draw方法进行绘制等。那么, 更复杂的图形呢?比如,五角星?比如组合图形?又或者是各种奇奇怪怪的不规则图形呢?有同学会说, 如果已知不规则图形的具体形状, 那我们就可以通过连接顶点的
【原创】opencv 实现特定形状视频跟踪,图像裁剪
opencv 实现特定形状视频跟踪,图像裁剪先看效果: 如上图所示,程序通过摄像头采集图像,然后使用cvCanny算子实现边缘检测,最后使用cvFindContours查找轮廓,进而根据预设参数寻找对应图像区域.并完成图像裁剪与选装.程序如下:/* 2015-07-24 linczone@163.com 编译命令如下: g++ `pkg-config opencv --cf
Android Glide 图片形状裁剪 ,滤镜等
具体请看:http://www.cnblogs.com/qianyukun/p/6867436.html
iOS如何实现图片的不同形状裁剪和添加相框
一,图片裁剪。 使用Graphics Context图形上下文进行图片裁剪操作,结合UIBezierPath画出路径,然后在CGContextRef中按照路径裁剪。 (1),在Rect中画出对应的形状路径。     //绘制珠宝形路径    +(UIBezierPath *)jewelryPathWithInRect:(CGRect)rect;    //绘制三角形路径    +(