UIImage处理

1.图片的圆角效果
<code>
-(UIImage) circleImage:(UIImage) image withParam:(CGFloat) inset {
UIGraphicsBeginImageContextWithOptions(image.size, 0, 1);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2);
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGRect rect = CGRectMake(inset, inset, image.size.width - inset * 2.0f, image.size.height - inset * 2.0f);
CGContextAddEllipseInRect(context, rect);
CGContextClip(context);
[image drawInRect:rect];
CGContextAddEllipseInRect(context, rect);
CGContextStrokePath(context);
UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newimg;

</code>

2.图片的拉伸
<code>
// UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
// UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
CGFloat top = 25; // 保留顶端高度
CGFloat bottom = 25 ; // 保留底端高度
CGFloat left = 10; // 保留左端宽度
CGFloat right = 10; // 保留右端宽度
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
// 指定为拉伸模式,伸缩后重新赋值,一般情况下我们只需要拉伸中间1*1区域就行了
image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
</code>

3.从一张大图中得到小图片
<code>
CGRect rect;
UIImage *smallImage = [UIImage imageWithCGImage:CGImageCreateWithImageInRect(image.CGImage, rect)];
</code>

4.图片的大小
<code>
NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"image.png"];
NSData *data = UIImagePNGRepresentation(image);
//图片大小(得到的是KB)
CGFloat length = [data length]/1000;
//通常当图片太大时,我们可以先把图片画到一个小的画布上,再得到画布上的图片。可改变图片的大小
//把图片写打path路径下
[data writeToFile:path atomically:YES];
// 若要存储到图片库里面
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
</code>

5.改变图片的透明度
<code>
UIGraphicsBeginImageContextWithOptions(image.size, 0, 1);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetAlpha(context, alpha);
[image drawInRect:(CGRect){{0,0},image.size}];
UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newimg;
</code>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,144评论 1 6
  • --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益...
    韩七夏阅读 2,796评论 2 10
  • 接下来我们看Base文件夹下的UIKIt文件夹的内容。 1.UIColor+YYAdd 这里看了这个类,里面有许多...
    充满活力的早晨阅读 2,331评论 0 1
  • 练习舞韵瑜伽1小时,练习拉伸30分钟,舞蹈基本没什么问题,硬伤还是拉伸拉伸拉伸,重要的事说三遍,虽然很痛,但是要坚持。
    胖胖向阅读 104评论 0 0
  • 人生就是个长长的旅途 父母手里握着我们的车票 也许我们所乘坐的列车不同 致使我们遇到的乘客也不会相同 虽然我们目的...
    浏小煚拓阅读 729评论 0 1