Как настроить яркость с помощью NSSlider для класса NSImage через Swift?
Мне нужно контролировать прозрачность (или непрозрачность) моих загруженных изображений (JPEG, PNG, TIFF и т. Д.) С помощью NSSlider. Как я могу это сделать? Вот код, написанный в AppDelegate.swift
@IBAction func importButton(sender: AnyObject) {
let uploadFile: NSOpenPanel = NSOpenPanel()
uploadFile.allowsMultipleSelection = false
uploadFile.canChooseFiles = true
uploadFile.canChooseDirectories = false
uploadFile.runModal()
let chosenPicture = uploadFile.URL
if(chosenPicture != nil) {
let pictureImport = NSImage(contentsOfURL: chosenPicture!)
imageWell.image = pictureImport
}
}
@IBAction func brightnessSlider(sender: AnyObject) {
//var alpha = sender...
}
1 ответ
Решение
Попробуй это
@IBAction func brightnessSlider(sender: NSSlider) {
var alpha = sender.minValue + (sender.doubleValue-sender.minValue)/(sender.maxValue-sender.minValue)
imageWell.alphaValue = CGFloat(alpha)
}
Расчет для альфа становится проще, если ваш minValue
всегда 0:
var alpha = sender.doubleValue/sender.maxValue