2016-08-03 92 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