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
}

その場所で Pixel Color を取得します: code to get pixel color

色が道路を表すかどうかを決定します。

// 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 に答える