我有一个学生在一个项目上工作,他有一个UIImage,他可以在屏幕上画一条线。我们想知道你是否有任何想法,如果他来回用线条填充整个屏幕有没有办法测试每个像素都被线条颜色覆盖?例如,如果背景为灰色且笔颜色为蓝色,如果他来回走动,则屏幕将开始变为蓝色。我们想测试哪些区域是蓝色的,哪些区域仍然是灰色的。
以下代码段将在屏幕上绘制一条线。如果我运行一个循环,整个屏幕最终将填充线条,来回交叉的cris,屏幕将具有线笔颜色的颜色。
UIGraphicsBeginImageContext(self.view.frame.size);
[drawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0); // sets width of pen
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.0, 1.0, 1.0); // controls color
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
答案 0 :(得分:0)
请参阅我对这个问题的回答:
How i count red color pixel from the UIImage using objective-C in iphone?
它包含一个演示项目的链接,用于计算UIImage
中的红色像素数。