2017-03-06 1 views
0

[Bildbeschreibung hier eingeben] [1] Ich verwende Helligkeit und Kontrast für ein Bild. Das Ausgabebild hat beim Vergleichen des Eingabebildes jedoch nicht die gleiche Größe. Das Ausgabebild wird sowohl auf der linken als auch auf der rechten Seite beschnitten, aber das Eingabe- und Ausgabebild wird dieselbe Größe haben. Code ist unten angegeben ...Beim Umwandeln von CIllage in CGImage wird die Größe nicht beibehalten.

let aCGImage = image?.CGImage; 
self.aCIImage = CIImage(CGImage: aCGImage!) 
self.context = CIContext(options: nil); 
self.contrastFilter = CIFilter(name: "CIColorControls"); 
self.contrastFilter.setDefaults() 
self.contrastFilter.setValue(self.aCIImage, forKey: "inputImage") 

self.contrastFilter.setValue(1.5, forKey: "inputContrast") 
self.contrastFilter.setValue(0.1, forKey: "inputBrightness") 
let cgimg = self.context.createCGImage(self.contrastFilter.outputImage!, fromRect: self.contrastFilter.outputImage!.extent) 

self.newUIImage = UIImage(CGImage: cgimg!) 

Mein Eingangsbild ist normal Simulator Photothek Standardbild und Ausgangsbild ist unten angegeben ... Ausgabebild After add contrast and brightness

+0

Es wäre toll, wenn Sie Beispiele für Eingabe- und Ausgabebilder bereitstellen, damit wir klar sehen können, wo das Problem liegt. – kelin

+0

Mein Beitrag ist bearbeitet .. bitte überprüfen Sie –

Antwort

0

Ich bin nicht sicher, warum Ihr Bild abgeschnitten wird, aber die Größe zu halten Sie Skala angeben sollten, wenn CGImage zu UIImage Umwandlung:

self.newUIImage = UIImage(cgImage: cgimg, 
          scale: image.scale, 
          orientation: image.imageOrientation) 

Es ist 3 Swift Code, aber Swift 2 wird sehr ähnlich sein.

+0

Danke für Ihre Antwort, aber ich habe immer noch dasselbe Problem. –

Verwandte Themen