ZYQAssetPickerController的使用,不错的图片选择

import UIKit

class ViewController: UIViewController,ZYQAssetPickerControllerDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate{

var imageArray  = NSMutableArray()

let moreThan:Int = 8

@IBAction func chooseBtn(sender: UIButton) {

let picker = ZYQAssetPickerController()

picker.maximumNumberOfSelection = self.moreThan+1-self.imageArray.count

picker.assetsFilter = ALAssetsFilter.allPhotos()

picker.showEmptyGroups = false

picker.delegate = self

picker.selectionFilter = NSPredicate(block: { (evaluatedObject, bindings) -> Bool in

let a = evaluatedObject as! ALAsset

a.valueForProperty(ALAssetPropertyType)

if(a.isEqual(ALAssetTypeVideo) == true){

let b = a.valueForProperty(ALAssetPropertyDuration).doubleValue

return b >= 5;

}else{

return true

}

})

self.presentViewController(picker, animated: true, completion: nil)

}

func assetPickerController(picker: ZYQAssetPickerController!, didFinishPickingAssets assets: [AnyObject]!) {

dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in

if(self.imageArray.count+assets.count-1>=self.moreThan){

self.imageArray.removeLastObject()

}

for i in 0..<assets.count {

let  ass = assets[i] as! ALAsset

let  ass1 = ass.defaultRepresentation()

let  ass2 = ass1.fullScreenImage().takeUnretainedValue()

let image = UIImage(CGImage:ass2)

let data = UIImageJPEGRepresentation(image, 0.1);

self.imageArray.insertObject(data!, atIndex: 0)

}

dispatch_async(dispatch_get_main_queue(), { () -> Void in

})

}

}

override func viewDidLoad() {

super.viewDidLoad()

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

}

}

时间: 2024-10-08 06:21:05

ZYQAssetPickerController的使用,不错的图片选择的相关文章

图片选择,预览及上传

记得以前老师教我们写项目,要实现图片上传的功能,我们都是先用一个input选好图片,然后单独做一个提交图片的按钮,点击按钮,使用form表单提交到后台,然后通过 // 获取上传的文件 HttpPostedFileBase file = Request.Files[0]; 这一行来获取上传到后台的文件,然后来验证上传的文件是不是图片,其实在前台,通过设置input属性,就可以限制我们只能选择图片文件了,当然,后台的验证也是不能少的, // 设置accept属性,限制能选择的文件类型为图片 <inp

iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?

Apple官方的文档为生成一个UIImage对象提供了两种方法: 1. imageNamed,其参数为图片的名字: 2. imageWithContentsOfFile,其参数也是图片文件的路径. 那么两种有什么区别吗? 肯定是有的.根据Apple的官方文档: imageNamed: 这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象如果它存在的话.如果缓存中没有找到相应的图片,这个方法从指定的文档中加载然后缓存并返回这个对象.因此imageNamed的优点是当加载时会缓存图片.所以当图

Android实用视图动画及工具系列之九:漂亮的图片选择器,高性能防崩溃图片选择工具

实现效果 功能说明 Andorid-ImagesPickers是一个图片选择(单选/多选).拍照.裁剪的图片选择器.使用方便,功能可自己配置,Andorid-ImagesPickers自身并没有强制绑定某个ImageLoader,开发者可以根据自己项目给Andorid-ImagesPickers配置图片加载器. 也许有人会问:系统不是有相册选择器吗,为什么还有做一个图片选择器呢,有必要吗?我告诉你很有必要.微信,QQ等等App它们都是自己带图片选择器,并没有直接调系统的图片选择器.为什么要这么做

Android自定义View 简单实现多图片选择控件

前言 相信很多朋友在开发中都会遇到图片上传的情况,尤其是多图上传,最 经典的莫过于微信的图片选择了.所有很多情况下会使用到多图选择. 所以就有了这篇文章,今天抽点时间写了个控件. 支持自定义选择图片的样式 支持设置图片选择数量 支持图片预览,删除 支持图片拍照 先来看看效果 实现分析 假如不定义控件,我们要实现这样一个功能,无非是写个GridView在item点击的时候去显示图片进行选择,在返回界面的时候进行GridView的数据刷新.我们把这些逻辑写在我们自定义的GridView中,就成了一个

ios中图片选择及上传

本Demo实现三个功能:图片选择,图片处理,图片上传 一.图片选择 简单封装了一个图片选择类fcimagePickerHelper,集成ActionSheet和ImagePicker功能,把他们的代理遵循和实现都封装起来,对外提供一个代理方法,把图片传递出去即可,简化外界的使用,在需要进行图片选择的地方,做以下操作: 导入此头文件 , #import "FCImageHelper.h" 遵循代理, <FCImageHelperDelegate> 在触发图片选择的方法中进行初

Android不错的图片压缩方法

Android不错的图片压缩方法 一.图片质量压缩 /** * 质量压缩方法 * * @param image * @return */ public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);// 质量压缩方法,这里100表示不

Android高仿微信图片选择上传工具

源码托管地址:https://github.com/SleepyzzZ/photo-selector 话不多说,先上效果图(高仿微信图片选择器): 图片选择界面: 图片预览界面: 批量上传图片: 实现的功能介绍: 1.图片异步加载,使用Glide开源库实现加载; 2.图片的预览界面,支持左右滑动,双击放大浏览; 3.图片批量上传,使用OkHttp来实现与Servlet服务器的通信; 使用方法(Android Studio): 新建工程,File->New->Import Module导入pho

安卓开发 第八篇 我的安卓应用架构设计-----图片选择以及剪裁

Android开发中遇到要从相册选择图片时,大多数人都会选择调用Android自带的相册,毕竟这样可以节约时间,又不用自己去处理图片的问题,不过这样也会产生一些问题,有些系统自带的相册真的是丑到没朋友,有时调用系统相册时不时的还可能发生崩溃问题.而我的安卓架构中选择了自定义相册的功能,其效果是仿照QQ的图片选择样式,通过dialog展现出来的,还自定义了图片的剪裁,使用了CropImageView 实现了多种剪裁效果. 图片选择的直接辅助类: /** * 图片选择辅助类 * Created by

本地图片选择(打开媒体库,选择图片)

在此调查中我要实现的是:点击Pictures按钮后,获取手机内所有图片,选择某一个图片,并显示到ImageView中. 应用范围: 图片上传时的图片选择  , 类似"浏览". 效果: 所有的图片都会列出来,包括目录. 在Activity Action里面有一个“ACTION_GET_CONTENT”字符串常量,该常量让用户选择特定类型的数据,并返回该数据的URI.我们利用该常量,然后设置类型为“image/*”,就可获得android手机内的所有image. main.xml : [x