Я хочу проверить альфа-значение точки в CALayer. Для этого рендеринга полный слой для меня слишком дорог. Есть ли способ визуализировать только небольшую необходимую часть CAlayer вокруг точки вопроса?
Код:
(BOOL) transparentPoint:(CGPoint)point
{
unsigned char pixel[4] = {0};
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(pixel, 1, 1, 8, 4, colorSpace, kCGBitmapAlphaInfoMask & kCGImageAlphaPremultipliedLast);
CGContextTranslateCTM(context, -point.x, -point.y);
[self.layer renderInContext:context];
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
CGFloat alpha = pixel[3]/255.0;
BOOL transparent = alpha < 0.01;
return transparent;
}