如何通过 Swift 为 NSImage class 使用 NSSlider 调整亮度?
How to adjust brightness with NSSlider for NSImage class via Swift?
我需要使用 NSSlider 控制我上传的图像(JPEG、PNG、TIFF 等)的透明度(或不透明度)。我该怎么做?
这是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...
}
试试这个
@IBAction func brightnessSlider(sender: NSSlider) {
var alpha = sender.minValue + (sender.doubleValue-sender.minValue)/(sender.maxValue-sender.minValue)
imageWell.alphaValue = CGFloat(alpha)
}
如果您的 minValue
始终为 0,则 alpha 的计算会变得更简单:
var alpha = sender.doubleValue/sender.maxValue
我需要使用 NSSlider 控制我上传的图像(JPEG、PNG、TIFF 等)的透明度(或不透明度)。我该怎么做? 这是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...
}
试试这个
@IBAction func brightnessSlider(sender: NSSlider) {
var alpha = sender.minValue + (sender.doubleValue-sender.minValue)/(sender.maxValue-sender.minValue)
imageWell.alphaValue = CGFloat(alpha)
}
如果您的 minValue
始终为 0,则 alpha 的计算会变得更简单:
var alpha = sender.doubleValue/sender.maxValue