1

たとえば、私は UIImage を持っています。画像の位置 (300, 200) がどの色であるかを知りたいのですが、どうすればよいですか? ありがとう。

4

1 に答える 1

4

このメソッド フォーム uitouch move.. を呼び出します。

-(void) getPixelColorAtLocation:(CGPoint)point
{
    unsigned char pixel[4] = {0};
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef context = CGBitmapContextCreate(pixel, 1, 1, 8, 4, colorSpace, kCGImageAlphaPremultipliedLast);

    CGContextTranslateCTM(context, -point.x, -point.y);

    [self.layer renderInContext:context];

    // NSLog(@"x- %f  y- %f",point.x,point.y);

    CGContextRelease(context);
    CGColorSpaceRelease(colorSpace);

    NSLog(@RGB Color code "%d  %d  %d",pixel[0],pixel[1],pixel[2]);
}

RGB色の組み合わせでタッチポイントのカラーコードを取得できます。それを試してみてください

于 2012-11-08T07:49:33.263 に答える