标签: uiimage

如何在 iOS 中将 URL 链接转换为 UIImage?

我正在使用 UIImage View 并像下面的代码一样添加图像

 NSURL *imageURL = [NSURL URLWithString:@"http://d1mxp0yvealdwc.cloudfront.net/e92c939d-e83b-4592-b367-327fa67339fb/1001 123.jpg"];
NSLog(@"imge %@",imageURL);

NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
    NSLog(@"imge %@",imageData);
UIImage *image = [UIImage imageWithData:imageData];
   NSLog(@"imge %@",image);
[image_view setImage:image];
Run Code Online (Sandbox Code Playgroud)

但所有 nslog 都显示 null 实际上 url 存在问题,但此显示图像在网络上,所以请告诉我这里有什么问题。

objective-c uiimage ios

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

如何在 swift 中暂时使我的 uiImage 变灰?

在我的应用程序中,我让用户将他的图像上传到我的亚马逊 s3 存储桶。一旦用户从手机捕获照片,我就会将其显示在屏幕上,然后开始上传。此时,我开始显示进度条,告诉用户现在的体育场是什么。但是有没有办法让图像在上传时变灰并在上传完成后显示原始颜色?

\n\n

到目前为止我的代码如下:

\n\n
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {\n\n    let path = NSTemporaryDirectory().stringByAppendingString("image.jpeg")\n\n    if let data = UIImageJPEGRepresentation(image, 0.8) {\n        data.writeToFile(path, atomically: true)\n\n    }\n\n    self.dismissViewControllerAnimated(true, completion: {})\n\n    let credentialsProvider = AWSCognitoCredentialsProvider(regionType:CognitoRegionType,\n        identityPoolId:CognitoIdentityPoolId)\n    let configuration = AWSServiceConfiguration(region:CognitoRegionType, credentialsProvider:credentialsProvider)\n    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration\n\n    let ext = "jpeg"\n\n    let uploadRequest = AWSS3TransferManagerUploadRequest()\n    uploadRequest.body = NSURL(string: "file://"+path)\n    uploadRequest.key = NSProcessInfo.processInfo().globallyUniqueString + "." + ext\n    uploadRequest.bucket = S3BucketName\n    uploadRequest.contentType = "image/" + ext\n\n\n//here I would like to present …
Run Code Online (Sandbox Code Playgroud)

uiimageview uiimage ios swift

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

如何更改 UITableView 背景图片的大小?

我将如何改变 uitableview 背景图像的大小?默认情况下,它会自动为我调整图像大小,但我希望我的图像小一点。我尝试过执行以下操作...

let image = UIImage(named: "noFoldersImage")
        let iv = UIImageView(image: image)
        iv.contentMode = .scaleAspectFit
        iv.layer.frame = CGRect(x: self.view.frame.midX, y: self.view.frame.midY, width: 200, height: 200)
        self.tableView.backgroundView = iv
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,有什么想法吗?谢谢

uitableview uiimageview uiimage ios swift

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

视频生成图像时的内存消耗问题 - AVAsset

我想创建Photos类似的视频视图,在页脚中将有一秒的视频帧。

在此输入图像描述

为此我正在使用这段代码

var imgs : [UIImage] = []
let assetImgGenerate : AVAssetImageGenerator = AVAssetImageGenerator(asset: video)
assetImgGenerate.appliesPreferredTrackTransform = true

let duration = Int(CMTimeGetSeconds(video.duration))
    for i in 0 ... duration   {
        if let img = generateFrames(assetImgGenerate : assetImgGenerate , fromTime: Float64(i))
        {
            imgs.append(img)

        }
Run Code Online (Sandbox Code Playgroud)

该代码运行良好。我得到了与我想要的相同的结果。

现在的问题是 -如果视频大小超过 50 秒并且我正在提取 uiimage,那么当内存超出设备的可用空间时,我的应用程序会崩溃。

我的视频时长为 120 到 200 秒。在内存管理方面有什么更好的方法呢?(我无法延迟加载图像,因为我希望将图像预加载到屏幕中。)

编辑

 func generateFrames(assetImgGenerate : AVAssetImageGenerator,   fromTime:Float64) -> UIImage? {

    let time : CMTime = CMTimeMakeWithSeconds(fromTime, 1)
    var img: CGImage?

  img = try? assetImgGenerate.copyCGImage(at:time, actualTime: …
Run Code Online (Sandbox Code Playgroud)

memory-leaks uiimage cgimage avasset swift

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

Swift:检查 UIImage 可失败初始化

我想检查图像是否存在,但是在可失败的初始化中......我可以做到丑陋,但我真的想知道是否self == nil可能......

extension UIImage {

    convenience init?(_ name:String) {
        let image = UIImage(named:name)
        guard image != nil else { Assert("image \(name) missing yo"); return nil }
        self.init(named: name)
    }
}
Run Code Online (Sandbox Code Playgroud)

更干净但不编译

extension UIImage {

    convenience init?(_ name:String) {
        self.init(named: name)
        if self == nil { Assert("image \(name) missing yo") }
    }
}
Run Code Online (Sandbox Code Playgroud)

静态 func 不如 init 有趣

extension UIImage {

   static func with(_ name:String) -> UIImage? {
        let image = UIImage(named:name)
        if image == nil { Assert("image …
Run Code Online (Sandbox Code Playgroud)

uiimage swift

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

使用带有 UIButton 的 URL 图像

我试图在 swift 4 中将 URL 图像设置为 UIButton。我正在使用 AFNetworking 从 URL 加载我的图像。我正在了解将图像设置为按钮的最佳途径是什么。

使用.setImage()setImageWith()不适用于 urls 和 uibuttons。

这是正在使用的 URL:

let imageUrl = URL(string: baseUrl + profile)

uibutton uiimage ios afnetworking swift

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

如何在 UIImageView 上放置抖动动画

我正在尝试在 UIImageView 上添加永久摇动动画。我怎样才能控制它的动画时间呢?

 var coffeeImageView = UIImageView(image: UIImage(named: "coffee.png"))
        shakeImg.frame = CGRectMake(100, self.view.frame.size.height - 100, 50, 50)
        self.view.addSubview(coffeeImageView)

        let coffeeShakeAnimation = CABasicAnimation(keyPath: "position")
        coffeeShakeAnimation.duration = 0.07
        coffeeShakeAnimation.repeatCount = 20
        coffeeShakeAnimation.autoreverses = true
        coffeeShakeAnimation.fromValue = NSValue(cgPoint: CGPointMake(shakeImg.center.x - 10, shakeImg.center.y))
        coffeeShakeAnimation.toValue = NSValue(cgPoint: CGPointMake(shakeImg.center.x + 10, shakeImg.center.y))
        shakeImg.layer.add(coffeeShakeAnimation, forKey: "position")
Run Code Online (Sandbox Code Playgroud)

animation uiimage swift

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

如何在视图中对角线显示渐变

gradient从 2生成 a UIColors,然后UIImage使用这些函数从中生成 a。

//Function to generate the UIImage from 2 colors.
func createGradient(color1: UIColor, color2: UIColor) -> UIImage {
    let gradientLayer = CAGradientLayer()
    gradientLayer.frame = self.view.bounds
    gradientLayer.colors = [color1.cgColor, color2.cgColor]
    let image = image(from: gradientLayer)
    return image
}

//Function to generate an Image from a CALayer.
func image(from layer: CALayer) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(layer.frame.size, true, 0)
    layer.render(in: UIGraphicsGetCurrentContext()!)
    let outputImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return outputImage ?? UIImage()
}
Run Code Online (Sandbox Code Playgroud)

我的结果是这样的

在此输入图像描述

但我想从左上角到右下角对角地显示这个......所以Red应该从左上角开始,并Yellow …

gradient uikit uiimage ios swift

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

Swift - 动态更改 UIImageView 的图像

我有一张普通图像UIImage和一张list图像。我的目标是每隔几秒图像就会自动改变一次,并通过我的imageList.

这是我的清单:

let images: [UIImage] = [
        UIImage(named: "avocadoImage")!,
        UIImage(named: "beerImage")!,
        UIImage(named: "bikeImage")!,
        UIImage(named: "christmasImage")!,
        UIImage(named: "dressImage")!,
        UIImage(named: "giftImage")!,
        UIImage(named: "goalImage")!,
        UIImage(named: "rollerImage")!,
        UIImage(named: "shirtImage")!,
        UIImage(named: "shoeImage")!,
        UIImage(named: "travelImage")!,     
    ]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

 NSTimer(timeInterval: 0.5, target: self, selector: "ChangeImage", userInfo: nil, repeats: true)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何一遍又一遍地循环我的数组。

uiimageview uiimage ios swift

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

加载图像时 UITableViewCell 显示错误的图像

UITableView列出了其中包含图像的社交媒体帖子。一旦加载了所有帖子详细信息并缓存了图像,它看起来不错,但在加载时,它通常会显示带有错误帖子的错误图像。

几个月来我一直在努力并回到这个问题。我不认为这是一个加载问题,它几乎看起来像 iOS 将图像转储到任何旧单元格,直到找到正确的单元格,但老实说我没有想法。

这是我的图像扩展,它也负责缓存:

    let imageCache = NSCache<NSString, AnyObject>()

    extension UIImageView {

    func loadImageUsingCacheWithUrlString(_ urlString: String) {

        self.image = UIImage(named: "loading")

        if let cachedImage = imageCache.object(forKey: urlString as NSString) as? UIImage {
            self.image = cachedImage
            return
        }

        //No cache, so create new one and set image
        let url = URL(string: urlString)
        URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in

            if let error = error {
                print(error)
                return
            }

            DispatchQueue.main.async(execute: {

                if let downloadedImage = UIImage(data: …
Run Code Online (Sandbox Code Playgroud)

uitableview uiimage swift

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