我想要做的是:iPhone
我在iPhone屏幕上有一個圖像。
現在,用戶將他的手指移動到圖像上。就像他會製作圓形或三角形或方形或星形。 (不用擔心,移動會閉環)。
現在,當用戶將完成移動意味着用戶將形狀像圓形,三角形或任何東西,然後該部分圖像應該被裁剪。
有沒有這個想法或任何與此有關的?
讓我知道更多的細節情況。
謝謝。
我想要做的是:iPhone
我在iPhone屏幕上有一個圖像。
現在,用戶將他的手指移動到圖像上。就像他會製作圓形或三角形或方形或星形。 (不用擔心,移動會閉環)。
現在,當用戶將完成移動意味着用戶將形狀像圓形,三角形或任何東西,然後該部分圖像應該被裁剪。
有沒有這個想法或任何與此有關的?
讓我知道更多的細節情況。
謝謝。
您應該閱讀Quartz2D Programming Guide,它解釋了CoreGraphics如何幫助您做到這一點。
特別是有一個專用於路徑的部分(NSBezierPaths
),裁剪區域,圖像蒙版,以及更多。在你的情況下,也許面具,但可能更多的裁剪區域是你將需要的。
您還可以使用路徑來限制其他對象在創建剪切區域的路徑範圍內的繪製。
(你在doc看到捕獲是MacOSX的窗口,但當然,你可以做iPhone完全一樣,上Quartz2D文檔在這兩個環境相當通用)
這確實的我的詭計
if (!self.pictureImageViewMasked) {
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0.0, 0.0)];
[path addLineToPoint:CGPointMake(50.0, 0.0)];
[path addLineToPoint:CGPointMake(50.0, 50.0)];
[path addLineToPoint:CGPointMake(0.0, 50.0)];
[path closePath];
if (![[self.pictureImageView layer] mask]) {
[[self.pictureImageView layer] setMask:[CAShapeLayer layer]];
}
[(CAShapeLayer*)[[self.pictureImageView layer] mask] setPath:[path CGPath]];
self.pictureImageViewMasked = YES;
}