Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (UIImage *)imageProcess:(UIImage *)image
- {
- CGImageRef inImage = image.CGImage;
- CGContextRef ctx;
- CFDataRef m_DataRef;
- m_DataRef = CGDataProviderCopyData(CGImageGetDataProvider(inImage));
- UInt8 * m_PixelBuf = (UInt8 *) CFDataGetBytePtr(m_DataRef);
- // Byte tmpByte;
- int length = CFDataGetLength(m_DataRef);
- NSLog(@"len %d", length);
- NSLog(@"width=%d, height=%d", CGImageGetWidth( inImage ), CGImageGetHeight( inImage ));
- NSLog(@"1=%d, 2=%d, 3=%d", CGImageGetBitsPerComponent(inImage), CGImageGetBitsPerPixel(inImage),CGImageGetBytesPerRow(inImage));
- float distance, coefficent;
- int x, y;
- int width = CGImageGetWidth(inImage);
- int height = CGImageGetHeight(inImage);
- int centerx = CGImageGetWidth(inImage)/2;
- int centery = CGImageGetWidth(inImage)/2;
- float maxDist = sqrt(pow(centerx,2)+pow(centery, 2));
- NSLog(@"maxdist: %f", maxDist);
- for (int index = 0; index < length; index += 4)
- {
- x = (index/4) % width+1;
- y = floor((index/4)/width)+1;
- distance = sqrt(pow((x-centerx),2)+pow((y-centery),2));
- coefficent = cos((90*distance * (3.14159265358/180)) / maxDist);
- NSLog(@"coefficent: cos((90* %f * (3.14159265358/180)) / %f)=%f",distance, maxDist, coefficent);
- m_PixelBuf[index + 1] = 255 * coefficent;
- m_PixelBuf[index + 2] = 255 * coefficent;
- m_PixelBuf[index + 3] = 255 * coefficent;
- //m_PixelBuf[index + 1] = m_PixelBuf[index + 1];
- //m_PixelBuf[index + 2] = m_PixelBuf[index + 2];
- //m_PixelBuf[index + 3] = m_PixelBuf[index + 3];
- }
- ctx = CGBitmapContextCreate(m_PixelBuf,
- CGImageGetWidth( inImage ),
- CGImageGetHeight( inImage ),
- 8,
- CGImageGetBytesPerRow( inImage ),
- CGImageGetColorSpace( inImage ),
- kCGImageAlphaPremultipliedFirst );
- CGImageRef imageRef = CGBitmapContextCreateImage (ctx);
- UIImage* rawImage = [UIImage imageWithCGImage:imageRef];
- CGContextRelease(ctx);
- return rawImage;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement