首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在UIImage上绘制边框和阴影

在iOS开发中,可以使用UIImageView来显示图片,并在图片上添加边框和阴影效果。以下是一个简单的示例代码:

代码语言:swift
复制
import UIKit

class CustomImageView: UIImageView {
    override func awakeFromNib() {
        super.awakeFromNib()
        layer.borderWidth = 2.0
        layer.borderColor = UIColor.black.cgColor
        layer.shadowColor = UIColor.black.cgColor
        layer.shadowOpacity = 0.5
        layer.shadowOffset = CGSize(width: 0, height: 2)
        layer.shadowRadius = 2.0
    }
}

在这个示例中,我们创建了一个名为CustomImageView的自定义UIImageView子类,并在awakeFromNib方法中设置了边框和阴影效果。layer属性是CALayer类型,它是一个核心动画框架中的类,用于管理视图的图层。borderWidthborderColor属性用于设置边框的宽度和颜色,shadowColorshadowOpacityshadowOffsetshadowRadius属性用于设置阴影的颜色、透明度、偏移量和半径。

在使用CustomImageView时,只需将其添加到视图层次结构中即可:

代码语言:swift
复制
let customImageView = CustomImageView(image: UIImage(named: "example"))
view.addSubview(customImageView)

这将在视图上显示一个带有边框和阴影效果的图片。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • CSS3圆角边框盒子阴影

    圆角边框(CSS3) 语法: border-radius: xxpx; 其中每一个值可以为 数值或百分比的形式。 技巧: 让一个正方形 变成圆圈 border-radius: 50%; 示例: ?...height: 50px; border: 1px solid; border-radius: 25px ; } 效果图矩形的圆角(即第二个图), 就不要用百分比,因为百分比会是表示高度宽度的一半...盒子阴影(CSS3) 语法: box-shadow:水平阴影 垂直阴影 模糊距离(虚实) 阴影尺寸(影子大小) 阴影颜色 内/外阴影; 值 作用 h-shadow 必须,水平阴影的位置 v-shadow...必须,垂直阴影的位置 blur 可选,模糊的距离 spread 可选,阴影的尺寸 color 可选,阴影的颜色 inset 可选,将外部阴影改成内部阴影 前两个属性是必须写的。...外阴影 (outset) 是默认的,不需要写 想要内阴影可以写 inset ?

    1.7K10

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

    CALayer负责视图中显示内容动画.所有动画都是作用在CALayer的....UIView负责监听相应事件.UIView是更高层的封装 iOS 中,你能看得见,摸得着的东西基本都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView....当UIView需要显示到屏幕时,会调用drawRect:方法进行绘图,并且会将所有内容绘制自己的图层,绘图完毕后,系统会将图层拷贝到屏幕,于是就完成了UIView得显示.换句话说,UIView...UIColor, UIImage是定义UIKit框架中的....其次 : QuartzCore框架CoreGraphics框架是可以跨平台使用的,iOSMac OS X都能使用 (C语言编写) 但是UIKit只能在iOS中使用 (OC编写).

    1.4K70

    iOS学习——Quartz2D学习之UIKit绘制

    iOS学习——Quartz2D学习之UIKit绘制 1、总述   IOS中绘图技术主要包括:UIKit、Quartz 2D、Core AnimationOpenGL ES。...是IOSMac OS X环境下的2D绘图引擎。涉及内容包括:基于路径的绘图,透明度绘图,遮盖,阴影,透明层,颜色管理,防锯齿渲染,生成PDF,以及PDF元数据相关处理。...IOS无论采用哪种绘图技术(UIKit、Quartz 2D、Core AnimationOpenGL ES),都离不开UIView,绘制都发生在UIView对象的区域内。...原则,尽量不要绘制视图的全部,以减少绘制带来开销。...在前面我们学会了如何在自定义view中绘制文本信息,其实绘制图片的方法绘制文本的方法非常类似,所以基本步骤如下: 导入素材 DrawRect加载图片  UIImage *image = [UIImage

    1.5K20

    iOS学习——核心动画之Layer基础

    ; 2.2.设置边框 //设置图层边框,图层中使用CoreGraphics的CGColorRef _RedView.layer.borderColor = [UIColor whiteColor...UIImageView中是UIView的主layer添加了一个次layer(用来绘制contents),我们设置边框的是主layer,但是次layer在上变,不会有任何的影响,所以当我们调用切割语句的时候...之所以能够显示屏幕,是试音UIView中有一个图层 创建UIView的时候,系统会自动创建一个CALayer在其中,用于显示东西,可以通过view.layer来去获取图层属性 当UIView要去显示的时候...,先去调用drawRect方法,将要绘制的东西绘制到图层,然后拷贝图层,完成了UIView的显示 UIView只有交互的功能,没有显示的功能 CALayer只要显示的功能,没有交互的功能 UIView...每过一秒,我们的秒针就需要变化位置,所以我们我们需要设置一个定时器,开始时每秒执行一次旋转布局绘制

    1.5K61

    图层树寄宿图 -- iOS Core Animation 系列一

    CALayer类概念UIView类似,也是一些被层级关系树管理的矩形块,也可以包含一些内容,并且管理子视图的位置。...但是有时候我们只使用UIView还是会有些捉襟见肘的,CALayer暴露了一些UIView没有提供的功能: 阴影、圆角、边框 3D变换 非矩形范围 透明遮罩 非线性动画 ---- 2.寄宿图 2.1...但是 iOS,如果将 UIImage 的值赋给它,只能得到一个空白的图层。 事实,真正赋值的类型应该是CGImageRef,这是一个指向CGImage结构的指针。...这效果看起来UIImage里的resizableImageWithCapInsets:非常类似,它可以运用到任何寄宿图,包括Core Graphics运行时绘制的图形。 ?...blueLayer显式调用了-display。因为当图层显示屏幕时,CALayer不会自动重绘,这UIView不同。需要手动调用。 我们没有调用masksToBounds。

    1.2K20

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

    Path路径绘制到当前视图上,一篇博客只是抛砖引玉,本片博客将更深入的介绍下有关上下文的更多内容。...需要注意,绘制的顺序CoreGraphics框架中十分重要,如果后绘制的内容绘制的内容有位置冲突,后绘制的内容将覆盖先绘制的内容。    ...4.图层上下文:用于将内容绘制Layer图层。 5.打印上下文:使用Mac打印功能时,此上下文用于将内容绘制在打印输出源。...首先任何UIView其子类的视图控件都有一个drawRect方法,当视图将要被绘制时会调用这个方法,drawRect方法中开发者可以获取到当前视图的图形上下文,通过这个图形上下文可以对视图进行自定义的绘制..., //边框绘制并填充 kCGPathEOFillStroke //补集进行边框填充绘制 */ void CGContextDrawPath(CGContextRef cg_nullable c,

    2.7K20

    iOS-OpenCV之蔡徐坤教你玩转边框

    这篇文章说是素描,其实与广义素描差距很大,准确的说应该是叫边框画。 步骤及原理 这里我们还是要先讲述一下步骤,这里先展示下原图 ? 1....所以图片的每一个像素,都有一个像素数值。 我们可以以当前像素点为中心,取一个n * n的矩阵。 ?...因为真实的照片有可能有阴影之类的遮挡,会导致我们的全局二值化,产生很多的误差,如下图右上角所示: ?...对模糊图片再次进行二值化 这里我们再次进行二值化操作,因为现在图片已经相对干净,且并无阴影等干扰项。我们可以直接使用全局二值化来加深边框了(计算速度快)。...开运算可以去除毛刺,小桥孤立的小点(腐蚀运算中小点会直接消失)。最终总的位置形状不变(膨胀运算会恢复) 闭运算 闭运算这里因为我们不会用到,因此不会过多赘述。

    1.8K30

    【IOS开发进阶系列】动画专题

    它之所以被定义为id类型,是因为Mac OS系统,这个属性对CGImageNSImage类型的值都起作用。如果你试图iOS平台上将UIImage的值赋给它,只能得到一个空白的图层。...contentsCenter其实是一个CGRect,它定义了一个固定的边框一个图层可拉伸的区域。...边框绘制图层边界里面的,而且在所有子内容之前,也子图层之前。 1.8.3 阴影         iOS的另一个常见特性呢,就是阴影阴影往往可以达到图层深度暗示的效果。...图4.6 大一些的阴影位移和角半径会增加图层的深度即视感 1.8.4 阴影裁剪         图层边框不同,图层的阴影继承自内容的外形,而不是根据边界和角半径来确定。...如果我们我们之前的边框示例项目中增加图层的阴影属性时,你就会发现问题所在(见图4.8)。

    50910

    iOS动画-CALayer基础知识

    、CGColorRef两种数据类型是定义Core Graphics框架中; QuartzCore框架CoreGraphics框架可以跨平台使用,iOSMac OS都能使用 ,但是UIKit却只能在...iOS中使用;为了保证可移植性,QuartzCore是不能直接使用UIImageUIColor的,如果使用需要将其转化为CGImageRef、CGColorRef 2.使用图层 使用图层十分简单,区别在于图层必须添加到图层...下面是一些UIView没有暴露出来的CALayer的功能: 设置阴影、圆角、带颜色边框 3D变换 非矩形范围 透明遮罩 多级非线性动画 二、CALyer寄宿图与contents属性 CALayer具有...Mac OS系统,contents属性对于CGIamgeNSImage类型的值都起作用;而对于iOS平台,虽然UIImage的CGImage属性也返回一个CGImageRef,但如果将这个值直接赋值给...contentsRect (CGRect) 允许图层边框里显示寄宿图的一个子域 contentCenter (CGRect) 定义一个固定的边框一个图层可拉伸的区域 三、UIView方法绘制自定义寄宿图

    1.9K50

    iOS UIButton解读

    ; //这个属性设置标题的偏移量          @property(nonatomic) BOOL reversesTitleShadowWhenHighlighted; //按钮高亮时,是否改变阴影效果...imageEdgeInsets; //图片的偏移量               @property(nonatomic)BOOL  adjustsImageWhenHighlighted; //设置图片的绘制是否高亮时变暗...    @property(nonatomic)BOOL  adjustsImageWhenDisabled; //设置图片是否轻绘制当按钮禁用时 @property(nonatomic)BOOL showsTouchWhenHighlighted...)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;  //设置标题阴影颜色及显示时的状态 - (void)setImage...:(UIImage *)image forState:(UIControlState)state;  //设置按钮图片显示当前图片时的状态 - (void)setBackgroundImage:(UIImage

    60220
    领券