簡體   English   中英

確定CGPoint是否在圖像區域內

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM