UIImage

UIImage *image = [UIImage imageNamed:@"message_i"];
//对图片进行切分
    image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(16, 16, 16, 30) resizingMode:UIImageResizingModeStretch];

_imageView.image = image

// [self setClipsToBounds:YES];
        if ([[[UIDevice currentDevice]systemVersion] floatValue] >=6) {
            [[UITabBar appearance] setShadowImage:[[UIImage alloc]init] ]; 去掉tabor 的阴影线

}

UIImage *image = [UIImageimageNamed:@"icon80"];

//以下两行代码可以省略不写...
    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(10, 10, 80, 80)];
//按照path勾勒的路径,将该区域以外的部分设置为绘制无效区域
    [path addClip];
//以上两行代码可以省略不写...

[image drawInRect:CGRectMake(10, 10, 80, 80)];

<code class="hljs" objectivec="">    self.view.backgroundColor = [UIColor darkGrayColor];

//不设置拉伸点,直接设置

UIImage *image1 = [UIImage imageNamed:@QQ];

UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(10, 100, 170, 170)];

imageView1.image = image1;

[self.view addSubview:imageView1];

//设置拉伸点,对左边和上面分开设置,理解其拉伸效果

UIImage *image2 = [UIImage imageNamed:@QQ];

image2 = [image2 stretchableImageWithLeftCapWidth:0 topCapHeight:image2.size.height*0.5];

UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(190, 100, 170, 170)];

imageView2.image = image2;

    [self.view addSubview:imageView2];</code>

<code class="hljs" objectivec="">    //不设置拉伸点,直接设置

UIImage *image1 = [UIImage imageNamed:@chat];

UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 200, 80)];

imageView1.image = image1;

[self.view addSubview:imageView1];

//设置拉伸点

UIImage *image2 = [UIImage imageNamed:@chat];

image2 = [image2 stretchableImageWithLeftCapWidth:image2.size.width*0.5 topCapHeight:image2.size.width*0.8];

UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(100, 200, 200, 80)];

imageView2.image = image2;

[self.view addSubview:imageView2];</code>

IImage * image =[[UIImage imageNamed:@"anim_loading_01"] stretchableImageWithLeftCapWidth:3.4 topCapHeight:23.0];

stretchableImageWithLeftCapWidth:3.4 topCapHeight:23.0

stretchableImageWithLeftCapWidth:表示横向拉伸 0 表示不拉伸

topCapHeight:表示竖向拉伸 0 表示不来伸

时间: 2024-10-24 09:15:47

UIImage的相关文章

UIImage知识点汇总(一)

在UIkit框架中,UIImage对象是iOS中用来显示图像数据的高级接口.我们可以从文件,NSData,Quartz图片对象中创建UIImage对象.可以说这个类是我们接触频率非常高的一个类. UIImage的不可变性 UIImage对象是不可变的,所以一旦创建后,我们就不能再改变它的属性.这也就意味着,我们只能在初始化方法中提供属性值或依赖于图片自身的属性值.同样,由于其不可变,所以在任何线程中都可以安全地使用它. 如果我们想修改UIImage对象的一些属性,则可以使用便捷方法和自定义的参数

iOS中UIImage存为本地文件与UIImage转换为NSData

UIImage *[email protected]"XXX"; //png格式 NSData *imagedata=UIImagePNGRepresentation(image); //JEPG格式 //NSData *imagedata=UIImageJEPGRepresentation(image); NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES

UIImage 的imageWithContentsOfFile:path和imageNamed的区别

在做 tomcat 小例子的时候,发现了这个问题,摘自官方文档 + (UIImage *)imageWithContentsOfFile:(NSString *)path 通过加载指定路径(全路径)中的文件,查找加载图像数据,从而生成并返回一个图形对象(或者 nil),但是仅仅是加载出图像的对象,并不缓存这个图形对象. 一般用法: NSString *file = [[NSBundle mainBundle] pathForResource:name ofType:nil]; UIImage *

xcode UIImage图片拉伸

图片拉伸 +(UIImage*)wlisWithImage:(NSString *)name{ //获取图片 UIImage * img=[UIImage imageNamed:name]; //获取图片宽 CGFloat imgW=img.size.width; //获取图片高 CGFloat imgH=img.size.height; //获取可拉伸的图片 return [img resizableImageWithCapInsets:UIEdgeInsetsMake(imgH*0.5, i

UIImage两种初始化的区别

UIImage可以通过以下两种方式进行初始化: 1 //第一种初始化方式:[注意使用这种初始化的时候如果是png格式的可以不给后缀名,根据屏幕的的分辨率去匹配图片] 2 UIImage *image = [UIImage imageNamed:@"v_red_heart_selected"]; 1 //第二种初始化方式:[必须拼接图片的全名称,否则image的路径为空] 2 NSString *filePath = [[NSBundle mainBundle] pathForResou

UIImage加载图片的方式以及Images.xcassets对于加载方法的影响

图片缓存 根据是否将创建好的对象缓存入系统内存,有两类创建UIImage对象的方法可选: 缓存:+ imageNamed:,只需传入文件名.扩展名(可选)即可. 不缓存:+ imageWithContentsOfFile:,必须传入文件的全名(全路径+文件名). 注意,对于有缓存功能的方法来说,其创建对象的步骤如下: 根据图片文件名在缓存池中查找特定的UIImage对象,若存在这个对象,将此对象返回. 如果不存在这个对象,则从mainBundle中加载图片数据,创建对象并返回. 如果相应的图片数

UIImageView和UIImage

UIImage的两种创建方式: •方式一:有缓存(图片所占用的内存会一直停留在程序中) + (UIImage *)imageNamed:(NSString *)name; name是图片的文件名 •方式二:无缓存(图片所占用的内存会在一些特定操作后被清除) + (UIImage *)imageWithContentsOfFile:(NSString *)path - (id)initWithContentsOfFile:(NSString *)path; path是图片的全路径 iOS中UIIm

五种创建UIImage的类方法

五种创建UIImage的类方法 UIImage有五个类方法,用来创建UIImage的.下面介绍一下每个类方法的作用和创建实例. 1.使用类方法imageNamed:创建 + (UIImage *)imageNamed:(NSString *)name; // load from main bundle name是照片名称.创建UIImage对象,代码如下: UIImage *image = [UIImage imageNamed:@"ganggang"]; 使用imageNamed:初

多个UIImage合并成一个UIImage

多个UIImage合并成一个UIImage 创建两个UIImage UIImage *image1 = [UIImage imageNamed:@"iOSDevTip"]; UIImage *image2 = [UIImage imageNamed:@"CodePush"]; 创建UIImage的方法有很多种,我们就简单的通过imageNamed:方法来创建. 合并之后的size CGSize size = CGSizeMake(image1.size.width

对UIImage进行的一些操作

1.生成指定宽高的UIImage对象(oldImage为原始图片对象,newImage为操作后的图片对象) // 参数1:图片的尺寸  参数2:是否透明(没看出YES和NO有什么区别)  参数3:缩放(1表示不缩放) (1) UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale) (2) UIGraphicsBeginImageContext(CGSizeMake(newWidth, newH