一.起因

因为需求有个类似与微信朋友圈的东东。而且同样可以更换相册封面。刚开始想的很简单,无非就是裁剪下图片,然后传给服务器,最后显示在朋友圈的顶部。可是当我做裁剪的时候却发现,我不能明确的给出图片裁剪区域的比例。因为android严重的碎片化,以及android与iOS分辨率的差异导致你无论怎样裁剪都不可能在所有机型中将裁剪后的图片完整的展示出来。于是我想到了最初的原型——微信朋友圈,打算拿它做个实验,看看微信是如何实现的。

二.实验准备

为了更好的体现出微信相册封面展示图片的区域,所以我打算自己做一张图。原本打算画一个坐标,可当我打开PS的时候发现只会用PS切图的我,根本画不出一个标准的坐标。所以我就画了这个东东。注意前方高能。。。。。。。


说实话我都觉得对不起我的朋友圈。为了革命,忍了。

三.开始实验

将做好的图片传到了我的android机上,打开微信进行裁剪。裁剪的区域大概是这样的

下面是在android机上的效果

然后我又用我的苹果机登陆了微信,效果如下

四.分析,结论

可以看出我裁剪的区域切掉了色块下参差不齐的地方,在裁剪图片的android机上没有展示出参差不齐的地方,而苹果机展示出参差不齐的区域,从而证明色块上下的空白是我原图的空白部分。(我实在懒得再去搞一张其他颜色背景的图片了)

所以可以看出,微信在裁剪的时候虽然显示裁剪区域是一个封闭的长方形,可实际上微信只裁掉了水平方向多余的地方,而竖直方向上的区域全都保留了下来并上传给了服务器。

五.遗留问题

因为还要实现产品需求所以没有去实验图片高度不够填充布局的情况下微信是怎样实现的。猜测是放大图片让图片竖直方向填满布局,图片居中裁掉两侧多余的部分。

更多相关文章

  1. Android(安卓)Camera生成bmp格式的图片
  2. Android实现播放GIF动画的强大ImageView
  3. Android之微信开放平台实现分享(分享好友和朋友圈)
  4. Android大图加载优化--基于LRU算法的本地文件缓存
  5. Android开发笔记(十七)GIF动画的实现GifAnimation
  6. Android(安卓)图片平铺效果bitmap
  7. Android(安卓)使用draw9patch技术实现不失真背景
  8. android中bitmap压缩的几种方法详解
  9. Android(安卓)大图片裁切时遇到的问题

随机推荐

  1. Android添加图片水印
  2. [Android] Android开发优化之——从代码
  3. 又见 BBM 将在 Android(安卓)上运行的间
  4. (4.2.2.3)【android开源工具】【Android(安
  5. Android用户请注意,你的相机正在偷偷开启
  6. 魅族J.Wong愿意提供M8 Android驱动,期待民
  7. Android下得到Wi-Fi的SSID
  8. Android实现从相册截图的功能
  9. 易科创始人陈文琦:为iOS开发者打造Andrioi
  10. 二维码合成,将苹果和安卓(ios和android)合成