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);