首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CGPoint从CGRect转换为其他CGRect

将CGPoint从CGRect转换为其他CGRect
EN

Stack Overflow用户
提问于 2014-05-05 05:56:14
回答 2查看 3K关注 0票数 4

我在视图上放置了一个标签,视图的框架是CGRectMake(0,0,270,203).现在我要用CGRectMake(0,0,800,600).拍摄屏幕截图因此,我必须将标签从旧的转换为新的rect

下面是我用来拍摄屏幕快照的代码:

代码语言:javascript
复制
CGRect rect = [view bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

下面是我用来转换点的代码:

代码语言:javascript
复制
CGRect f = [view convertRect:lblMessage.frame fromView:viewMessage];

但我无法从新形象中的标签中获得实际的位置。有人能帮我找错地方吗。

在这里,我附上了图像,以获得更多的澄清。在小视图中,我添加了一个标签,我必须根据大图像视图转换标签的帧。

谢谢,

EN

回答 2

Stack Overflow用户

发布于 2014-05-05 06:14:11

代码语言:javascript
复制
    +(UIImage*)screenShotOf:(UIView*)view atScale:(CGFloat)scale
    {
        UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, scale);
        [view.layer renderInContext:UIGraphicsGetCurrentContext()];

        UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();

        return img;
    }

这里,您需要根据需要调整缩放属性。

票数 0
EN

Stack Overflow用户

发布于 2014-06-13 20:32:17

你可以这样做:

代码语言:javascript
复制
-(CGPoint) convertPoint: (CGPoint) point fromRect: (CGRect) fromRect toRect: (CGRect) toRect {
    return (CGPoint){
        (toRect.size.width/fromRect.size.width) * point.x,
        (toRect.size.height/fromRect.size.height) * point.y
    };
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23465725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档