Swift图片处理

本文源码在Github: ***

简单图片背景替换(实现抠图效果)

参考:
http://blog.csdn.net/hitwhylz/article/details/41550411?utm_source=tuicool&utm_medium=referral
http://www.hangge.com/blog/cache/detail_904.html
http://www.jianshu.com/p/266f796d61d3

在网上搜索“Swift扣图”文章较少,目前能找到的只有以上几位同学的分享,分别借鉴一下。
尝试以上方案出现以下错误:

duplicate symbol _createCubeMap in: 
/Users/nathan/Library/Developer/Xcode/DerivedData/Koutu2-eplaxzssfxopryhhxjukijapxifp/Build/Intermediates/Koutu2.build/Debug-iphonesimulator/Koutu2.build/Objects-normal/x86_64/CubeMap.o 
/Users/nathan/Library/Developer/Xcode/DerivedData/Koutu2-eplaxzssfxopryhhxjukijapxifp/Build/Intermediates/Koutu2.build/Debug-iphonesimulator/Koutu2.build/Objects-normal/x86_64/ViewController.o 
ld: 1 duplicate symbol for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

解决不了~~~

晚上试下这个 https://github.com/zhangao0086/iOS-CoreImage-Swift/tree/master/ComplexFilters/ComplexFilters
还是一样的问题


怎么整??????


Swift开发中常用的一些图片处理方法

来源:http://www.jianshu.com/p/0402e470e8c3

//MARK: - 生成指定尺寸的纯色图片
func imageWithColor(color: UIColor!, size: CGSize) -> UIImage{
    var size = size
    if CGSizeEqualToSize(size, CGSizeZero){
        size = CGSizeMake(1, 1)
    }
    let rect = CGRectMake(0, 0, size.width, size.height)
    UIGraphicsBeginImageContext(rect.size)
    let context = UIGraphicsGetCurrentContext()
    CGContextSetFillColorWithColor(context, color.CGColor)
    CGContextFillRect(context, rect)

    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image
}

//MARK: - 修改图片尺寸
func imageScaleToSize(image: UIImage, size: CGSize) -> UIImage{
    // 创建一个bitmap的context
    // 并把它设置成为当前正在使用的context
    // Determine whether the screen is retina
    if UIScreen.mainScreen().scale == 2.0{
        UIGraphicsBeginImageContextWithOptions(size, false, 2.0)
    }else{
        UIGraphicsBeginImageContext(size)
    }

    // 绘制改变大小的图片
    image.drawInRect(CGRectMake(0, 0, size.width, size.height))

    // 从当前context中创建一个改变大小后的图片
    let scaledImage = UIGraphicsGetImageFromCurrentImageContext()

    // 使当前的context出堆栈
    UIGraphicsEndImageContext()

    // 返回新的改变大小后的图片
    return scaledImage
}

//MARK: - 压缩图片大小
func imageCompress(originalImage: UIImage) -> UIImage{
    guard let imageData = UIImageJPEGRepresentation(originalImage, 0.5) else{
        return originalImage
    }

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

推荐阅读更多精彩内容

  • 10点半睡,6点半起,2+6.5=8.5小时有核心技术的人,才能活到最后。 iOS 阅读整理在sourcetree...
    士梦阅读 3,072评论 0 18
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,076评论 25 708
  • ——这是一篇在得到APP李笑来老师专栏学习的关于留言的认知升级。(全文大阅需要5分钟。) 坚持留言这是笑来老师的号...
    乐得其说阅读 256评论 2 2
  • 在自由之心的引导下,野蛮生长。 那年,还不知失眠的滋味,亦不知自己终究是平凡的人。 度过萧瑟冬日,穿越阴冷的黑夜,...
    白色鸟阅读 489评论 0 3
  • 43 也许算命先生的话是真的:谁娶了绒花谁就会发家。 几年以后,赵钢的废...
    心灵是我独舞的城池阅读 194评论 0 0