码迷,mamicode.com
首页 > 其他好文 > 详细

类似美图秀秀的自由拼图功能是怎么实现的?

时间:2014-11-12 13:11:45      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:io   ar   on   问题   cti   代码   算法   c   信息   

============问题描述============


重写imageview..但不晓得为何我重写后只能显示一张图片,其余的还是不显示?

============解决方案1============


不同格子的形式可以定义一个VIEW,最后把整个组合成一个IMAGE

============解决方案2============


其实全部功能都能在同一个View里完成,用一个ArrayList记录所有的图片及其相关信息(例如位置,旋转角度等,写一个队列去记录即可),onTouch事件每次Action_Down的时候检测点击位置是否有图片,如果有则把位于最上面的图片放到ArrayList的第一位置,接下来所有Action_Move事件全部只对第一位置的图片起作用(onDraw里按ArrayList的倒序画图片就行了,给最后一个画的图片加上Action_Move中的产生的位置、状态变化的参数),Action_UP的时候就重新记录第一位置图片变化后的信息

其中检测算法要你自己去想,因为图片旋转后4个点的位置就变了,怎么判断点击的地方有没有图片的一个角是个小难点,图片的放大缩小、移动、旋转全部在onDraw里用Matrix完成即可,最后生成图片如果跟预览图大小不同就乘个比例。

大致的思路就是这样,代码是公司的我不方便放,剩下算法、流程什么的LZ你自己思考一下就行了

类似美图秀秀的自由拼图功能是怎么实现的?

标签:io   ar   on   问题   cti   代码   算法   c   信息   

原文地址:http://www.cnblogs.com/lengyanyue39/p/4091772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!