Как настроить яркость с помощью 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
Другие вопросы по тегам