在我的应用程序中,我想检测uiimage的边界。我有一个花图像有许多部分,如(lief,sticky bulb等)作为单个图像。如果我触摸特定的lief意味着它找到该特定lief的边界值并返回值。 / p>
我对此一无所知。请任何人帮助我这样做。
答案 0 :(得分:2)
您可以使用“Flood Fill Algorithm”。
只有获得接触点才能满足这一要求。
你需要打破所有像素,然后你会进一步使用它。
答案 1 :(得分:0)
您可以实施一些edge detecion算法。但除非你在图像处理方面有一些经验,否则我认为这将是一个令人头痛的问题。
如果您事先有了图像(是吗?),您可以将图像分离为蒙版的组合并检测相应蒙版中的触摸。我们的想法是,对于图像的每个部分,您将拥有相应的位图蒙版。当您收到触摸时,检查所有蒙版以查看哪个蒙版在触摸位置有黑色像素。这是一种厚厚的石英技术,但我认为它比边缘检测更容易接近。查看relevant quartz documentation。
答案 2 :(得分:-1)
我认为你可以通过继承UIImageView并检测touchevent和位置来做到这一点。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint position = [touch locationInView:self];
}
我没试过这个,但似乎这会解决你的问题。