Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var provider = CGImageGetDataProvider(imageArray[imageNumber]?.CGImage) //Get data provider for image in an array at index No. imageNumber
- let data = CGDataProviderCopyData(provider)
- var buffer = [Byte](count: CFDataGetLength(data), repeatedValue: 0) //create buffer for image data
- CFDataGetBytes(data, CFRangeMake(0, CFDataGetLength(data)), &buffer) //load the image's bytes into buffer
- var newBuffer = [Byte](count:buffer.count, repeatedValue: 0) //Going to make some changes, need a place to save new image
- var index = 0
- for aByte in buffer {
- if aByte > 0xa && aByte != 0xff {
- newBuffer[index] = (aByte - 0xa) //subtract 0xa from buffer, where possible
- }
- else{
- newBuffer[index] = (0xff) //I *think* there is no alpha channel, but every fourth byte in buffer is 0xff
- }
- index += 1
- }
- var coreGraphicsImage = CGImageCreateWithJPEGDataProvider(CGDataProviderCreateWithCFData( CFDataCreate(kCFAllocatorDefault, newBuffer, newBuffer.count)), nil, true, kCGRenderingIntentDefault) //create CGimage from newBuffer.RETURNS NIL!
- let myImage = UIImage(CGImage: coreGraphicsImage) //also nil
- imageView.image = myImage
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement