mirror of
https://github.com/zhigang1992/PINRemoteImage.git
synced 2026-03-29 22:41:24 +08:00
Added tvOS example
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
//
|
||||
// ProcessingViewController.swift
|
||||
// PINRemoteImage.tvOSExample
|
||||
//
|
||||
// Created by Isaac Overacker on 2/6/16.
|
||||
//
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import PINRemoteImage
|
||||
|
||||
class ProcessingViewController: UIViewController {
|
||||
|
||||
@IBOutlet weak var imageView: UIImageView!
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
}
|
||||
|
||||
override func didReceiveMemoryWarning() {
|
||||
super.didReceiveMemoryWarning()
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
override func viewWillAppear(animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
|
||||
if let url = NSURL(string: "https://s-media-cache-ak0.pinimg.com/1200x/2e/0c/c5/2e0cc5d86e7b7cd42af225c29f21c37f.jpg") {
|
||||
imageView.pin_setImageFromURL(url,
|
||||
processorKey: "rounded",
|
||||
processor: { (result, cost) -> UIImage? in
|
||||
if let image = result.image {
|
||||
let radius = CGFloat(7.0)
|
||||
let targetSize = CGSize(width: 200, height: 300)
|
||||
let imageRect = CGRect(x: 0, y: 0, width: targetSize.width, height: targetSize.height)
|
||||
UIGraphicsBeginImageContext(imageRect.size)
|
||||
let bezierPath = UIBezierPath(roundedRect: imageRect, cornerRadius: radius)
|
||||
bezierPath.addClip()
|
||||
|
||||
let widthMultiplier = CGFloat(targetSize.width / image.size.width)
|
||||
let heightMultiplier = CGFloat(targetSize.height / image.size.height)
|
||||
let sizeMultiplier = max(widthMultiplier, heightMultiplier)
|
||||
|
||||
var drawRect = CGRect(x: 0, y: 0, width: image.size.width * sizeMultiplier, height: image.size.height * sizeMultiplier)
|
||||
if CGRectGetMaxX(drawRect) > CGRectGetMaxX(imageRect) {
|
||||
drawRect.origin.x -= (CGRectGetMaxX(drawRect) - CGRectGetMaxX(imageRect)) / 2.0;
|
||||
}
|
||||
if CGRectGetMaxY(drawRect) > CGRectGetMaxY(imageRect) {
|
||||
drawRect.origin.y -= (CGRectGetMaxY(drawRect) - CGRectGetMaxY(imageRect)) / 2.0;
|
||||
}
|
||||
|
||||
image.drawInRect(drawRect)
|
||||
|
||||
UIColor.redColor().setStroke()
|
||||
bezierPath.lineWidth = 5.0
|
||||
bezierPath.stroke()
|
||||
|
||||
let ctx = UIGraphicsGetCurrentContext();
|
||||
CGContextSetBlendMode(ctx, .Overlay);
|
||||
CGContextSetAlpha(ctx, 0.5);
|
||||
|
||||
if let logo = UIImage(named: "white-pinterest-logo") {
|
||||
CGContextScaleCTM(ctx, 1.0, -1.0);
|
||||
CGContextTranslateCTM(ctx, 0.0, -drawRect.size.height);
|
||||
CGContextDrawImage(ctx, CGRect(x: 0, y: 0, width: logo.size.width, height: logo.size.height), logo.CGImage);
|
||||
}
|
||||
|
||||
let processedImage = UIGraphicsGetImageFromCurrentImageContext();
|
||||
UIGraphicsEndImageContext();
|
||||
return processedImage;
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user