首页
学习
活动
专区
圈层
工具
发布

iOS开发CoreGraphics核心图形框架之七——图像处理

膜层可以简单的理解为将一个图层追加到原图层上,但需要注意,图层中颜色为纯黑的部分,会按照原图绘制,纯白的部分会被完全遮挡,这中间的颜色会以特定的算法进行alpha值的更改。...例如将如下图片作为膜层绘制到原图像上: ?...除了使用图片膜层来对原图像数据进行裁剪处理外,还可以通过颜色数据定义膜层来进行裁剪。这个方法就能加强大了,其可以将图像中某个范围的颜色所对应的所有区域裁剪出来。...则当满足如下条件时,这个像素点会被裁剪: min1<c1<max1,min2<c2<max2,min3<c3<max3 需要注意,使用这种方式进行膜层裁剪,原图像不可以有alpha通道,色值的取值范围为...kCGBlendModeMultiply模式是叠加混合模式,其会将前景图alpha化,效果如下: ?

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    直播APP常用动画效果

    烟花 图片压缩、加载与裁剪 1、图片压缩 美术给出的图片,即使是压缩过,仍存在较大的压缩空间,可以用这里或者更好的大小优化。...3、图片裁剪 为了减少图片资源的大小,有时候会把多个帧动画做成连续的一张图。这时需要程序加载一整张资源图,并在相应的位置进行裁剪。...UIImage* sourceImage = [UIImage imageNamed:@"image/animation/gift_boat"]; CGSize sourceSize = sourceImage.size...值属性是透明度,把背景设置成淡黑色,然后调整alpha可以达到背景渐变的视图效果; UIView的transform是可以用仿射变换矩阵来控制平移、放大缩小等。...NSMutableArrayUIImage *> *images = [NSMutableArrayUIImage *> array]; for (int i = 0; i < 6; ++i

    2.3K80

    iOS开发CoreGraphics核心图形框架之二——深入理解图形上下文

    特定的上下文用于将内容绘制到特定的输出源上,CoreGraphics中提供如下几种图形上下文: 1.位图图形上下文:位图图形上下文用于将RGB图像,GMYK图像或者黑白图像绘制到一个位图(bitmap)...对象 UIKIT_EXTERN UIImage* __nullable UIGraphicsGetImageFromCurrentImageContext(void); //结束位图图形上下文的编辑 会...(); //将UIImage展示到界面上 UIImageView * imageView = [[UIImageView alloc]initWithImage:image];...c); //进行区域裁剪 void CGContextClipToRect(CGContextRef cg_nullable c, CGRect rect); //进行一组区域的裁剪 void CGContextClipToRects...kCGTextStrokeClip, //裁剪绘制边框 kCGTextFillStrokeClip,//进行裁剪 kCGTextClip */ void CGContextSetTextDrawingMode

    3.1K20

    视觉效果 -- iOS Core Animation 系列三

    阴影裁剪 和图层边框不同,图层的阴影继承自内容的外形,而不是根据边界来界定。...图层蒙版 mask 这节的原文章前有一堆铺垫的,我就不说了,想看的点击查看原文 本节主要是介绍CALayer的maskt属性,它可以实现一些比较好玩的裁剪效果。而不是常规的圆形、矩形裁剪。...// 创建mask CALayer *maskLayer = [CALayer layer]; maskLayer.frame = self.imageView.bounds; UIImage...*maskImage = [UIImage imageNamed:@"test_mask"]; maskLayer.contents = (__bridge id)maskImage.CGImage...如果想了解的话请点击此处 组透明 alpha UIView有一个alpha属性来决定视图的透明度,对应的CALayer有一个opacity属性。这两个属性都会影响子层级的显示透明度。 下面做个示例。

    1.7K30

    CALayer 图层概念二、CALayer属性二、方法

    UIColor, UIImage是定义在UIKit框架中的....self.demoView.layer.shadowOffset = CGSizeMake(5, 5); redView.layer.shadowOffset = CGSizeZero; 设置阴影的透明度(layer的opacity相当于view的alpha...view的clipToBounds 裁剪多余边缘 设置photoView中的所有子控件如果超出了photoView的有效范围,那么超出的部分将不会显示 photoView.clipsToBounds...= YES ; 设置两边多余地方不裁剪 button.imageView.clipsToBounds = NO; 路径绘制,绘图剪裁 矩形图片剪裁成圆并且外面设置圆环并存储 给layer设置背景图片...; __bridge类型表达式的作用一般就是把 Core Foundation 中的数据类型转换成 Foundation 中的类型, 桥接的时候也会设置到一些所有权的转换等。

    2K70

    VVeboTableView 源码解析

    但是,当cell里面涉及到图文混排,cell高度不都相等的设计时,如果不进行一些操作的话,会影响性能,甚至会出现卡顿,造成非常不好的用户体验。...SIZE_AVATAR+5, SIZE_AVATAR+5)]; cornerImage.center = avatarView.center; cornerImage.image = [UIImage...cornerImage.tag = NSIntegerMax; [self.contentView addSubview:cornerImage]; 在这里,作者没有使用任何复杂的技术来实现图片的圆角(使用layer或者裁剪图片...控件名称 了解到控件的名称,位置之后,我们看一下作者是如何布局这些控件的: ?...3.2 异步绘制本地图片 本地图片的绘制,只需要提供图片在bundle内部的名字和frame就可以绘制: [[UIImage imageNamed:@"t_comments.png"] drawInRect

    1.5K10
    领券