在不同设备上绘制UIImage上的点

时间:2014-12-04 18:26:09

标签: ios objective-c iphone uiimage

我试图在视图中绘制一个矩形,并且该视图位于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。

谢谢!

0 个答案:

没有答案