简单实现 图片透视倒影

    做读书软件的 头一开始要做这效果可惜 才开始接触IPHONE 没大空去细看一些东西

    现在东西做完 回头有时间研究些 原来需要的效果 用openGLES 做因该很给力但是 我也没摸过 查了一圈

    我这些写法其实底层也是交给 openGL 去做了 至少不用为了这么个简单的效果去使用那么强大的openGL了

    下面来说说我的简单做法:

 

    //创建个图片对象没啥好说的

    UIImage* t_image = [UIImage imageNamed:@"defaulttype.png"];

    //继续创建个UIImageView
    UIImageView* image1;
    image1 = [[UIImageView alloc] initWithImage: t_image];

    //设置绘制位置
    image1.layer.position = CGPointMake(60, 60);

    //获得一个3D 矩阵的 实例对象
    CATransform3D tran = image1.layer.transform;

    //X轴上透视
    tran.m12 = 0.005;
    tran.m13 = 0.005;
    tran.m14 = 0.005;

    //把这个自己定义的矩阵 适配到 第一个UIImageView 上
    image1.layer.transform =tran;

    //第一ImageView 做为子层 加到 父层里
    [self.view.layer addSublayer:image1.layer];

    //倒影层
    UIImageView* image2;
    image2 = [[UIImageView alloc] initWithImage: t_image];

 

    //X轴旋转180度 (得先旋转)
    image2.layer.transform = CATransform3DMakeRotation(M_PI, 1.0, 0, 0);

    //一样的X轴透视
    CATransform3D tran2 = image2.layer.transform;
    tran2.m12 = 0.005;
    tran2.m13 = 0.005;
    tran2.m14 = 0.005;
    image2.layer.transform =tran2;

    //影子嘛 要虚点 设个透明度
    image2.alpha =0.25;

    //影子X坐标对齐,Y下移一个图高度
    image2.layer.position = CGPointMake(60, 60+image1.image.size.height);

    //加入父layer
    [self.view.layer addSublayer:image2.layer];
   
    [image1 release];
    [image2 release];

 

    OK搞定了,很简单的方法去实现透视和倒影 

    下面是效果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值