zoukankan      html  css  js  c++  java
  • CGRectOffset与CGRectInset的计算公式

    本文转载至 http://wuchaorang.2008.blog.163.com/blog/static/4889185220132141849496/ 

     
    (1)CGRectInset
    CGRect CGRectInset (
       CGRect rect,
       CGFloat dx,
       CGFloat dy
    );
    该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。

    举例如下:

    CGRect r1 = CGRectMake(100, 100, 50, 50);

    CGRect r3 = CGRectInset(r1, 10, 8);//结果应为:110,108,30,34

        /************* 计算工式如下***************

         r1.origin.x+=dx;//dx为正数是+=,负数则-=

        r1.size.width-=dx*2;

         r1.origin.y+=dy;//dy为正数是+=,负数则-=

         r1.size.height-=dy*2;

         ****/

    套用结果:

     r1.origin.x+=10;//结果为:100+10

     r1.size.width-=dx*2;//结果为:50-10*2

     r1.origin.y+=dy;//结果为:100+8

     r1.size.height-=dy*2;//结果为:50-8*2

    //输出结果

     NSLog(@"CGRectInset=%@ ",NSStringFromCGRect(r3));

    (2)CGRectOffset
    CGRect CGRectOffset(
            CGRect rect,
             CGFloat dx,
             CGFloat dy
    );
    相对于源矩形原点rect(左上角的点)沿x轴和y轴偏移, 再rect基础上沿x轴和y轴偏移  

    举例如下:

    float offset = -50.0;

    CGRect r1 = CGRectMake(100, 100, 50, 50);

    CGRect r2 = CGRectOffset(r1, offset, offset);

        /***

         r1.origin.x+=offset;

         r1.origin.y+=offset;

         ***/

        NSLog(@"CGRectOffset=%@ ",NSStringFromCGRect(r2));

     

  • 相关阅读:
    Oracle安装错误ora-00922(zhuan)
    Context上下文对象(抄书的)
    我的oracle账号
    jquery总结(1)
    JS改变input的value值不触发onchange事件解决方案 (转)
    写表单验证等页面的总结
    表单验证模板2
    Session随便写的(抄书笔记)
    cookie随便写的一点笔记(抄书的)
    Oracle触发器修改数据时同步执行插入该条数据
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/3758893.html
Copyright © 2011-2022 走看看