Като се има предвид CGRect (rect
) и UIImage (image
), как да получите алфа стойностите (само) на пикселите на изображението в правоъгълника?
Следният код винаги връща 0 алфа, независимо от изображението или правоъгълника.
CGContextRef context = CGBitmapContextCreate(NULL,
rect.size.width,
rect.size.height,
8,
rect.size.width,
NULL,
kCGImageAlphaOnly);
UIGraphicsPushContext(context);
[image drawInRect:rect];
char *pixels = CGBitmapContextGetData(context);
NSUInteger pixelCount = rect.size.width * rect.size.height;
for (int i = 0; i < pixelCount; i++)
{
char pixel = pixels[i];
CGFloat alpha = pixel / 255.0;
NSLog(@"%f", alpha);
}
UIGraphicsPopContext();
CGContextRelease(context);