Swift开发教程--有关图片处理的一些有用函数

/**

*  切圆形图片

*

*  @param image:UIImage

*  @param inset:CGFloat

*

*  @return UIImage

*/

class
func circleImage(image:UIImage,inset:CGFloat) ->
UIImage {

UIGraphicsBeginImageContext(image.size);

var context:CGContextRef =
UIGraphicsGetCurrentContext();

CGContextSetLineWidth(context, 6);

CGContextSetStrokeColorWithColor(context,
UIColor.whiteColor().CGColor);

var rect:CGRect =
CGRectMake(inset, inset, (image.size.width-inset*2), (image.size.height-inset*2));

CGContextAddEllipseInRect(context, rect);

CGContextClip(context);

image.drawInRect(rect);

CGContextAddEllipseInRect(context, rect);

CGContextStrokePath(context);

var newImg:UIImage =
UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImg;

}

/**

*  重设图片大小

*

*  @param image:UIImage

*  @param reSize:CGSize

*

*  @return UIImage

*/

class
func reSizeImage(image:UIImage,reSize:CGSize)->UIImage

{

UIGraphicsBeginImageContext(CGSizeMake(reSize.width, reSize.height));

image.drawInRect(CGRectMake(0, 0, reSize.width, reSize.height));

var reSizeImage:UIImage =
UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return reSizeImage;

}

/**

*  等比率缩放

*

*  @param image:UIImage

*  @param scaleSize:CGFloat

*

*  @return UIImage

*/

class
func scaleImage(image:UIImage,scaleSize:CGFloat)->UIImage

{

UIGraphicsBeginImageContext(CGSizeMake(image.size.width*scaleSize,
image.size.height*scaleSize));

image.drawInRect(CGRectMake(0, 0, image.size.width*scaleSize,
image.size.height*scaleSize));

var scaledImage:UIImage =
UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return scaledImage;

}

/**

*  3.处理某个特定View

只要是继承UIView的object
都可以处理

必须先import QuzrtzCore.framework

*

*  @param theView UIView

*

*  @return UIImage

*/

class
func captureView(theView:UIView)->UIImage

{

var rect:CGRect = theView.frame;

UIGraphicsBeginImageContext(rect.size);

var context:CGContextRef =
UIGraphicsGetCurrentContext();

theView.layer.renderInContext(context);

var img:UIImage =
UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return img;

}

/**

*  把图片以filename名称存到app home下的Documents目录里

*

*  @param image:UIImage

*  @param filename:NSString

*

*  @return

*/

class
func saveImageFile(image:UIImage,filename:NSString) {

var path:NSString =
NSHomeDirectory().stringByAppendingPathComponent("Documents").stringByAppendingPathComponent(filename
as String);

UIImagePNGRepresentation(image).writeToFile(path
as String, atomically:
true);

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 17:20:21

Swift开发教程--有关图片处理的一些有用函数的相关文章

Swift开发教程--实现UITableView报错does not conform to protocol 'UITableViewDataSource‘

通过实践,要是把下面三个协议方法都实现了就不会报错了.另外还需要注意!的问题. func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{ } func tableView(ta

Swift开发教程

IOS开发视频教程非常全面,总共39G,系统的介绍了Swift这门苹果今年推出的开发语言.苏苏是也是一个IOS开发小菜,Swift比Objective-C更加容易让新手理解,如果希望能进入IOS这个高帅富程序员行列,下载它学习吧. 教程目录: 第1季 Swift基础语法 第2季 Swift高级语法 第3季 构建Swift UI 第4季 Swift微信 From:http://www.2cifang.com/thread-612-1-1.html 另外还可以参看: 苹果Swift编程语言入门教程[

Swift开发教程--如何自定义TabBarItem的图片显示

在做项目的时候,如果使用系统的UITabBarController的时候,底部的tab自定义图片显示是蓝色和灰色的,这不是我们所想要的效果. 如果想显示自定义的按下和弹起的图片效果,这个时候就需要对TabBarItem进行修改. 以下就是具体的示例: var itemNameArray:[String] = ["down_32","add_32","plane_32","circle_32"] var itemNameSele

Swift开发教程--怎样自己定义TabBarItem的图片显示

在做项目的时候,假设使用系统的UITabBarController的时候,底部的tab自己定义图片显示是蓝色和灰色的.这不是我们所想要的效果. 假设想显示自己定义的按下和弹起的图片效果.这个时候就须要对TabBarItem进行改动. 下面就是详细的演示样例: var itemNameArray:[String] = ["down_32","add_32","plane_32","circle_32"] var itemName

Swift开发教程--如何播放图片动画

废话少说,直接上代码: var barsAnim = UIImageView(frame: self.view.frame); barsAnim.animationImages = NSArray() as [AnyObject]; barsAnim.animationImages?.append(UIImage(named: "wave_000")!); barsAnim.animationImages?.append(UIImage(named: "wave_001&qu

Swift开发教程--Swift的基本语法

下面来介绍Swift的基本用法: println("Hello, World!") println("你好,世界!") // 定义一个常量,使用关键字"let" // 在Swift中,几乎对所有的基本数据类型或者是对象类型使用结构体进行了重写 let haiDian = "海淀" // let haiDian: String = "海淀"        // 在Swift中,系统会帮你做类型推断,上一行的代

Swift开发教程--如何让UITabBarItem垂直居中显示

直接上代码: item.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);//设置图片居中 版权声明:本文为博主原创文章,未经博主允许不得转载.

Swift开发教程--使用Storyboard进行界面跳转

使用storyboard结合代码来做确实可以给开发带来很多的便利. 在实践的过程中,我们经常会遇到界面的跳转问题.通过控件和界面的建立的"连接"就可以了. 如果是navigationcontroller的跳转,则选择push的方式(否则xcode运行的时候会报错): 如果是Viewcontroller的跳转,则选择modal的方式. 如果你想通过代码来打开另外一个界面,则需要设置他们之间连接的segue.identifier,比如你设置为jumpid. 然后代码就可以这么写: self

Swift开发教程--如何对字符串进行md5加密

在swift工程中随便建一个objective-c类,会提示你生成一个Bridging-Header,点YES,然后删除刚才建立的objective-c类,只留下[工程名]-Bridging-Header.h文件. 在[工程名]-Bridging-Header.h文件写入: #import <CommonCrypto/CommonDigest.h> 然后写一个生成md5的函数: class func md5String(str:String) ->String{ var cStr = (