2

仅当我在 UIImage 视图中触摸某种颜色时,如何让 UITouch 识别并执行某个任务。

例如:

我有一张街道的图像。这条街有灰色的建筑物和一条白色的道路。如果我触摸一座建筑物,我不希望发生任何事情,但如果我触摸一条白色的道路,我想将我触摸的那部分突出显示为浅蓝色。

4

1 回答 1

0
  1. 捕捉图像上的触摸事件
  2. 使用触摸位置获取该位置的像素颜色。
  3. 决定颜色是代表道路还是建筑物。

获取准确的触摸坐标

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [touches anyObject];
    CGPoint touchPoint = [touch locationInView: imageView];

    // Here are your touch coordinates
    touchPoint.x
    touchPoint.y
}

在该位置获取像素颜色:获取像素颜色的代码

确定颜色是否代表道路。

// 230 used as example, Experiment to find a good value
if (red >230 && green >230 && blue >230)
{
    // turn street blue
}
于 2011-12-11T00:53:24.320 回答