[英]Determine if CGPoint is within image area
我想弄清楚CGPoint是否位於圖像的形狀內。 圖像是簡單的黑色形狀,例如下面附着的兩個。 我想創建一個方法來確定CGPoint是否位於該形狀的黑色區域內。
我認為這需要兩件事:1)將圖像轉換為可以用代碼讀取的東西(不確定這將使用什么樣的圖像處理或如何)
2)使用它作為參考來確定CGPoint是否位於其中。
任何幫助或想法贊賞。 我之前從未做過圖像處理類型的編碼。 謝謝!
看看Ole Begemann的OBShapedButton 。 在那里你會找到一個包含ColorAtPixel
方法的UIImage
類別。 猜猜你正在尋找什么。
然后,您可以使用以下內容獲取某些像素的UIColor
:
UIImage *image = [UIImage imageWithCGImage:yourCGImage];
CGPoint point = CGPointMake(pointx,pointy);
UIColor *pixelColor = [image colorAtPixel:point];
為了簡化RGB值,您還可以查看uicolor-utilities 。 使用UIColor-Expanded
類別,您可以簡單地確定讓我們說紅色和藍色組件。 如果它們很低(像素是暗的),則測試點是內部形狀。
CGFloat redComp = [pixelColor red];
CGFloat blueComp = [pixelColor blue];
BOOL isInsideShape = ((redComp < 0.5) && (blueComp < 0.5));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.