相关疑难解决方法(0)

19
推荐指数
2
解决办法
2万
查看次数

使用UIImagePickerController获取图像 - 如何知道是否保存PNG或JPEG?

UIImagePickerController让用户从图像库中选择一个图像,并通过该didFinishPickingMediaWithInfo方法获得结果.

我需要能够将生成的图像保存到磁盘(在应用程序的文档文件夹中),并在以后重新加载.

问题是我无法判断是将其存储为PNG还是JPEG.我不能总是将它存储为PNG,因为对于较大的照片,它的速度很慢(更不用说我必须单独处理存储图像方向).我不能总是将它存储为JPEG,因为在某些情况下,图像具有透明度,如果我这样做会丢失.

我已经检查了UIImagePickerControllerMediaType图像选择器返回的信息字典中的键,无论我选择了PNG还是JPEG,返回的是"image.public".

所以...

有没有办法知道用户是否选择了PNG?也许只是检查图像是否有任何透明度的某种方法?

谢谢.

objective-c uiimagepickercontroller uiimage ios

6
推荐指数
2
解决办法
3129
查看次数

如何从照片库加载动画GIF

在iOS Swift中,我很难将动画GIF从设备照片库加载到UIImageView或从中创建.gif文件.如果它是服务器上的文件或者它在应用程序中是正确的,我可以显示动画GIF.但是,当我从照片库加载它时,我丢失了动画.我发现了一些Objective-C解决方案并尝试将它们转换为Swift,但没有任何运气.

这是我到目前为止:

@IBAction func buttonTapped(sender: UIButton) {
    selectPhoto()
}

func selectPhoto() {
    let photoLibraryController = UIImagePickerController()
    photoLibraryController.delegate = self
    photoLibraryController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary

    let mediaTypes:[String] = [kUTTypeImage as String]
    photoLibraryController.mediaTypes = mediaTypes
    photoLibraryController.allowsEditing = false

    self.presentViewController(photoLibraryController, animated: true, completion: nil)
}

// UIImagePickerControllerDelegate
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    let origImage = info[UIImagePickerControllerOriginalImage] as! UIImage

    self.imageView.image = origImage

    picker.dismissViewControllerAnimated(true, completion: nil)

}
Run Code Online (Sandbox Code Playgroud)

最理想的情况是,我想将照片库图像保存到服务器上的gif文件中.从那里我可以毫不费力地显示它.但是,我需要一些帮助将照片库中的数据转换为某种类型的属性,而不会丢失动画.我需要使用像ALAssetsLibrary这样的东西吗?

谢谢.

gif animated-gif uiimagepickercontroller ios swift

5
推荐指数
1
解决办法
3746
查看次数