-
Notifications
You must be signed in to change notification settings - Fork 14
/
RotateAndScale.swift
55 lines (41 loc) · 1.75 KB
/
RotateAndScale.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//
// RotateAndScale.swift
// ShinpuruImage
//
// Created by Simon Gladman on 23/05/2015.
// Copyright (c) 2015 Simon Gladman. All rights reserved.
//
import UIKit
class RotateAndScale: SLHGroup
{
let slidersGroup = SLVGroup()
let scaleXslider = LabelledSlider(title: "Scale X", minimumValue: 0.001, maximumValue: 1)
let scaleYslider = LabelledSlider(title: "Scale Y", minimumValue: 0.001, maximumValue: 1)
let rotateslider = LabelledSlider(title: "Rotation", minimumValue: 0, maximumValue: Float(2 * M_PI))
let imageView = UIImageView()
let image = UIImage(named: "vegas.jpg")!
required init()
{
super.init()
margin = 5
slidersGroup.margin = 5
scaleXslider.value = 1
scaleYslider.value = 1
imageView.contentMode = UIViewContentMode.ScaleAspectFit
scaleXslider.addTarget(self, action: "scaleRotateChange", forControlEvents: UIControlEvents.ValueChanged)
scaleYslider.addTarget(self, action: "scaleRotateChange", forControlEvents: UIControlEvents.ValueChanged)
rotateslider.addTarget(self, action: "scaleRotateChange", forControlEvents: UIControlEvents.ValueChanged)
slidersGroup.children = [scaleXslider, scaleYslider, rotateslider]
children = [slidersGroup, imageView]
scaleRotateChange()
}
func scaleRotateChange()
{
imageView.image = image
.SIScale(scaleX: scaleXslider.value, scaleY: scaleYslider.value)
.SIRotate(angle: rotateslider.value, backgroundColor: UIColor.lightGrayColor())
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}