J'utilise cette fonction que je trouve dans this post pour convertir une image couleur à un gris mis à l'échelle un:Comment mettre à l'échelle une image avec des pixels transparents rendant toutes les images opaques?
func grayScaleImage() -> UIImage {
let imageRect = CGRectMake(0, 0, self.size.width, self.size.height);
let colorSpace = CGColorSpaceCreateDeviceGray();
let width = UInt(self.size.width)
let height = UInt(self.size.height)
let context = CGBitmapContextCreate(nil, width, height, 8, 0, colorSpace, .allZeros);
CGContextDrawImage(context, imageRect, self.CGImage!);
let imageRef = CGBitmapContextCreateImage(context);
let newImage = UIImage(CGImage: imageRef)
return newImage
}
J'ai fait quelques tests avec des images qui ont un fond transparent, et le résultat que je reçois est une image avec un fond noir. Je voudrais que les pixels transparents/translucides se comportent comme si l'arrière-plan de l'image était blanc, comment pourrais-je faire cela?
Quelle version de Swift utilisez-vous? – DonMag