2016-08-03 85 views
1

我需要使用NSSlider控制上传图片(JPEG,PNG,TIFF等)的透明度(或不透明度)。我如何做到这一点? 这是写在AppDelegate.swift代码如何使用NSSlider通过Swift为NSImage类调整亮度?

@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