ios-实现可拉伸的图片
来源:互联网 发布:深圳网络诈骗案 编辑:程序博客网 时间:2024/06/10 07:25
这里我们可以在项目中新建一个.m文件实现对UIImage类的扩展,其实就是给这个类添加新方法,但是不能用于成员变量。具体看代码。这个可以实现图片的平铺拉伸,而不是直接拉伸。
系统会自动计算rightCapWidth
rightCapWidth = image.width - leftCapWidth - 1;
系统会自动计算bottomCapHeight
bottomCapHeight = image.height - topCapHeight - 1 所以可拉伸的区域其实只有1*1。实际可拉伸的其实就是那个点而已你想拉伸多大给你无限的填充也就是说拉伸的就是你设定的left和top坐标的位置+1的那个点
//UIImage+Extend.h 文件中#import <UIKit/UIKit.h>//返回一张可拉伸的图片 是对UIImage类的扩展@interface UIImage (Extend)+ (instancetype)resizedImageWithName:(NSString *)imageName;+ (instancetype)resizedImageWithName:(NSString *)imageName width:(CGFloat)width height:(CGFloat)height;@end
//UIImage的扩展类 .m文件中#import "UIImage+Extend.h"@implementation UIImage (Extend)+ (instancetype)resizedImageWithName:(NSString *)imageName{ return [self resizedImageWithName:imageName width:0.5 height:0.5];}+ (instancetype)resizedImageWithName:(NSString *)imageName width:(CGFloat)width height:(CGFloat)height{ UIImage *image = [UIImage imageNamed:imageName]; return [image stretchableImageWithLeftCapWidth:image.size.width * width topCapHeight:image.size.height * height]; /*创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。那么接下来的一个像素会被拉伸。 例如,leftCapHeight为6,topCapHeight为8。那么,图片左边的6个像素,上边的8个像素。不会被拉伸,而左边的第7个像素,上边的第9个像素这一块区域将 会被拉伸。剩余的部分也不会被拉伸.如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6 的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。而图像后面的剩余像素也不会被拉伸。个方法只有2个参数,leftCapWidth代表左端盖宽度, */ }@endtopCapHeight代表上端盖高度。系统会自动计算出右端盖宽度rightCapWidth和底端盖高度bottomCapHeight,算法如下:
系统会自动计算rightCapWidth
rightCapWidth = image.width - leftCapWidth - 1;
系统会自动计算bottomCapHeight
bottomCapHeight = image.height - topCapHeight - 1 所以可拉伸的区域其实只有1*1。实际可拉伸的其实就是那个点而已你想拉伸多大给你无限的填充也就是说拉伸的就是你设定的left和top坐标的位置+1的那个点
阅读全文
0 0
- ios-实现可拉伸的图片
- iOS中实现返回可拉伸不变形的图片
- iOS图片实现可拉伸不变形的处理操作
- iOS开发-图片拉伸的实现
- 可拉伸图片的方法
- iOS-图片的拉伸
- 【Android UI】CoordinatorLayout实现带图片可拉伸的Toolbar
- iOS --代码实现拉伸图片
- iOS图片拉伸的做法
- ios图片拉伸的问题
- ios图片拉伸的问题
- iOS之图片的拉伸
- iOS的图片拉伸方法
- Android与iOS中实现图片的拉伸与平铺
- iPhone开发:可拉伸的图片
- iPhone开发:可拉伸的图片
- iOS tableView 的headerView 可拉伸效果
- 拉伸图片:创建一个内容可拉伸,而边角不拉伸的图片
- webservice简单实例
- Sql(Oracle)
- git efrror: RPC failed
- MediaCodec硬编码YUV和PCM——非常具有参考意义
- 完全覆盖
- ios-实现可拉伸的图片
- 数据结构 学习笔记(十):排序(上):简单排序(冒泡,插入),希尔 / 选择 / 堆 / 归并 排序
- Oracle根据当前时间获取最近5年,最近6个月,最近30天的时间
- 员工管理系统
- 关于offsetTop与offsetHeight的区别以及使用方法
- 倍增算法(LCA)
- Caffe 安装OpenCV-2.4.13
- 一个自登陆谷歌插件
- matplotlib(学习一)