`
zani
  • 浏览: 351250 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

为View绘制阴影

 
阅读更多


 

关键代码预览:

 

   UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 300.0, 225.0)];
	view.center = self.view.center;
	view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | 
    UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;
	view.layer.contents = (id)[UIImage imageNamed:@"photo.jpeg"].CGImage;
	view.layer.borderColor = [UIColor colorWithWhite:1.0 alpha:1.0].CGColor;
	view.layer.borderWidth = 5.0;
	view.layer.shadowOffset = CGSizeMake(0, 3);
	view.layer.shadowOpacity = 0.7;	
	view.layer.shouldRasterize = YES;
    
    // shadow
    UIBezierPath *path = [UIBezierPath bezierPath];	
	
	CGPoint topLeft		 = view.bounds.origin;
	CGPoint bottomLeft	 = CGPointMake(0.0, CGRectGetHeight(view.bounds) + 10);
	CGPoint bottomMiddle = CGPointMake(CGRectGetWidth(view.bounds) / 2, CGRectGetHeight(view.bounds) - 5);	
	CGPoint bottomRight	 = CGPointMake(CGRectGetWidth(view.bounds), CGRectGetHeight(view.bounds) + 10);
	CGPoint topRight	 = CGPointMake(CGRectGetWidth(view.bounds), 0.0);
	
	[path moveToPoint:topLeft];
	[path addLineToPoint:bottomLeft];
	[path addQuadCurveToPoint:bottomRight
				 controlPoint:bottomMiddle];
	[path addLineToPoint:topRight];
	[path addLineToPoint:topLeft];
	[path closePath];
	
	view.layer.shadowPath = path.CGPath;	
	
	[self.view addSubview:view];
 
  • 大小: 21 KB
分享到:
评论

相关推荐

    ShadowView:Android上的动态阴影

    难题2:如果要为ImageView投射阴影(如示例中所示),则必须注意,如果设置缩放比例类型,ImageView可以在画布上绘制自身的古怪方式。 因此,例如,如果设置比例类型centerCrop ,则阴影将比ImageView本身大得多,...

    Android实现图片添加阴影效果的2种方法

    主要介绍了Android实现图片添加阴影效果的2种方法,第一种方法是自定义drawable,第二种方式就是自定义view,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    FinancialCustomerView-金融类自定义view.zip

    参数准备,外边框、内虚线、折线图等的绘制第二阶段,x、y文字、实时横线和实时数据、下方透明阴影第三阶段,实时数据更新分时图第四阶段,长按十字线,左右移动分时图详细实现原理参考博客:金融类自定义View-...

    view_shaper:一个库,可帮助在Android中创建形状的视图和布局

    如果您可以编写表示所需形状的路径,则可以使用ViewShaper裁剪路径后的任何View并绘制阴影。 当所需形状比圆形或正方形复杂并且您无法创建XML形状用作View背景时,这是一个很好的解决方案。 实现方式: 创建一个...

    自定义View系列之kotlin绘制手势设置温度控件的方法

    引言 最近公司接了一个车联网的项目,主要是新能源汽车的一些控制功能,其中涉及到一个是温度的调节功能,... 首先绘制圆盘,刻度,阴影(需要关闭硬件加速),文字 然后根据划过的角度绘制进度条 最后根绝touch事

    一个自定义的ViewGroup显示阴影效果

    源码shadow-layout,ShadowLayout是一个自定义的ViewGroup,它能让自己包含的view显示...跟CardView相比,ShadowLayout有以下优势:可以绘制圆形阴影,可以设置阴影位置,可以设置阴影的深浅,可以设置selector的阴影。

    iOS实现图片六边形阴影效果

     layer 的shadowPath : 绘制自定义形状阴影  UIBezierPath :绘制六边形路线 说完知识点下面上代码了 绘制六边形的路线 -(CGPathRef)getCGPath:(CGFloat)viewWidth{ UIBezierPath * path = [UIBezierPath ...

    android群雄传

    3.5 View Group的绘制 39 3.6 自定义View 39 3.6.1 对现有控件进行拓展 40 3.6.2 创建复合控件 43 3.6.3 重写View来实现全新的控件 51 3.7 自定义View Group 54 3.8 事件拦截机制分析 59 第4章 List View使用...

    Carbon:适用于Android 4.0及更高版本的Material Design实现。 阴影,涟漪,矢量,字体,动画,小部件,圆角等

    真正的反向功能(不要为阴影使用渐变!) 修复Android永恒的错误(当未设置重力时,FrameLayout会忽略孩子的填充) 什么是新的 BottomNavigationView,TabLayout和NavigationView的自定义项目布局 日夜主题 更新的...

    AndroidAnimation-Android自定义View之星球运动.zip

     //绘制星球背景的阴影效果  paint.color = 0xffAAEEF2.toInt()  paint.style = Paint.Style.FILL  canvas.drawPath(path , paint)  //绘制星球的地貌  drawPoints(index , canvas)  ...

    DIRECTX.9.0.3D游戏开发编程基础.pdf

    View Matrix)的计算 12.2.2 绕任意轴的旋转 12.2.3 俯仰、偏航和滚动 12.2.4 行走、扫视和升降 12.3 例程:Camera 12.4 小结 第13章 地形绘制基础 13.1 高度图 13.1.1 创建高度图 13.1.2 加载RAW文件 ...

    《Android自定义组件开发详解》

    第一章 View的绘图流程 12 1.1、概述 12 1.2、Activity的组成结构 13 1.3、View树的绘图流程 15 1.3.1 测量组件大小 16 1.3.2 确定子组件的位置 17 1.3.3 绘制组件 18 1.4、说点别的 22 1.5 练习作业 22 第二章 ...

    Teapot:一个很棒的WebGL茶壶,具有街景和Photosphere环境映射

    streetview.js:用于绘制全景图并保持其状态的代码 pipeline.js:透视图的实现-Modelview矩阵管道以及其他样板 objparser.js:用于波前.obj文件的解析器 utils.js:简单的库函数 着色器 目的 着色器 茶壶 potshader....

    Introduction to 3D Game Programming with DirectX 9.0

    Introduction to 3D Game Programming with DirectX 9.0,中文书名为《DirectX 9.0 3D 游戏开发编程基础》,资源是这本书的英文原版,配有详细的书签目录 最后附上其中文目录 目录 第Ⅰ部分 基础知识 必备的数学...

    AndroidFoldingLayout折叠布局原理及实现(二)

    1、Matrix的setPolyToPoly使用2、在图片上使用渐变和阴影3、初步的FoldingLayout的实现,完成图片的折叠显示(可控制折叠次数、包含阴影的绘制)4、引入手势,手指可以可以FoldingLayout的折叠5、结合DrawerLayout...

    北交《计算机图形学》在线作业二-0003参考答案.docx

    C.Gouraud明暗模型和Phong明暗处理模型主要是为了处理由多个平面片近似表示曲面物体的绘制问题 北交《计算机图形学》在线作业二-0003参考答案全文共15页,当前为第2页。 D.Phong明暗模型处理的物体表面光亮度呈现不...

    HelloDrag:Android程序在屏幕的XY坐标中拖动图像

    你好拖拽Android 程序在... 接下来,系统将一个动作类型为 ACTION_DRAG_STARTED 的拖动事件发送到当前布局中所有 View 对象的已注册拖动事件侦听器。 要继续接收拖拽事件,包括一个可能的拖拽事件,拖拽事件监听器必须

    WebGL编程指南压缩包

    绘制阴影 392 如何实现阴影 392 示例程序(Shadow.js) 393 提高精度 399 示例程序(Shadow_highp.js) 400 加载三维模型 401 OBJ 文件格式 404 MTL 文件格式 405 示例程序(OBJViewer.js) 406 自定义类型...

Global site tag (gtag.js) - Google Analytics