2011-02-02 44 views
0

在我的应用程序中,我想检测uiimage的边界。我有一个花图像有很多部分像(lief,sticky bulb等)作为一个单一的图像。如果我触摸特定的lief意味着它找到该特定lief的边界值并返回值。如何检测uiimage的边界

我不知道这个。请任何人帮我出来做这个。

+0

你把图像放在UIImageView中吗?边界是什么意思?框架? – jithinroy 2011-02-02 09:56:26

回答

0

你可以实现一些edge detecion算法。但是除非你有一些图像处理方面的经验,否则我认为这将是一个令人头痛的问题。

如果您事先有图像(是吗?),您可以将图像分离为蒙版组合,并检测相应蒙版中的接触。这个想法是,对于图像的每个部分,你将有一个相应的位图掩码。当您收到触摸时,您会检查所有蒙版以查看触摸位置中哪个蒙版具有黑色像素。这是一种厚实的石英技术,但我认为它比边缘检测更加平易近人。检查出relevant quartz documentation

-1

我想你可以通过继承UIImageView并检测touchevent和位置来做到这一点。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint position = [touch locationInView:self];  
} 

我没有试过这个,但似乎这会解决你的问题。

2

您可以使用“洪水填充算法”。

只有获得触点才能满足此答案。

你需要打破所有的像素,然后你会进一步使用它。