Tuesday, 10 July 2018

Generating stripe lines using CoreImage - No sharp edges

Im generating image with strip lines using CoreImage framework and the output seems to have improper edges as shown in the below image. Code I have used is as below.
fileprivate func generateImage(_ width: CGFloat, _ height: CGFloat, withColor1: CIColor,
 withColor2: CIColor) -> CGImage? {

   let context = CIContext()

   if #available(iOS 10.0, *) {
   let stripes = CIFilter(name: "CIStripesGenerator", withInputParameters: [
                "inputColor0" : withColor2,
                "inputColor1" : withColor1,
                "inputWidth" : NSNumber(value: 10),
                "inputSharpness" : NSNumber(value: 0.7)

                ])!.outputImage!

    let rotate = CIFilter(name: "CIAffineTransform", withInputParameters: [ 
"inputImage" : stripes,"inputTransform" : NSValue(cgAffineTransform: 
CGAffineTransform(rotationAngle: -75.0))])!.outputImage!

    return context.createCGImage(rotate, from: CGRect(x: 0, y: 0, width: width, 
height: 50.0))!

        } else {
            // Fallback on earlier versions
        }

        return nil

    }


With high sharpness

enter image description here

With low sharpness(0.7)

enter image description here
What I need is below
enter image description here


from Generating stripe lines using CoreImage - No sharp edges

No comments:

Post a Comment