我试图在视图中绘制一个矩形,并且该视图位于UIImage上方。我遇到的问题是,如果我将矩形坐标设置为在iphone 5屏幕的图像中的人脸上绘制矩形,则该矩形不会位于Ipad2屏幕的人脸上。我已经考虑了屏幕差异,并应用了方程newCoord = oldCoord * scaleFactor,但矩形仍然是关闭的。这是我绘制矩形的示例代码:
(void)drawRect:(CGRect)rect {
//image size
int origWidth = 847;
int origHeight = 466;
int x = 433;
int y = 173;
CGFloat newWidth = self.frame.size.width;
CGFloat newHeight = self.frame.size.height;
CGFloat wScaleFactor = newWidth / origWidth;
CGFloat hScaleFactor = newHeight / origHeight;
int newX = x * wScaleFactor;
int newY = y * hScaleFactor;
// Get the contextRef
CGContextRef contextRef = UIGraphicsGetCurrentContext();
// Set the circle fill color to GREEN
CGContextSetRGBFillColor(contextRef, 0.0, 255.0, 0.0, 1.0);
CGRect rectangle = CGRectMake(newX,newY,5,5);
// Draw the rectangle border
CGContextFillRect(contextRef, rectangle);
}
对我失踪的任何帮助表示赞赏。
我还应该提到我的UIimage设置为aspectFit。
谢谢!