宽度拉伸9patch图的尺寸尽量为偶数


改章节个人在上海逛街的时候突然想到的...这段时间就有想写几篇关于宽度拉伸的文章,所以回家到之后就奋笔疾书的写出来发布了

   美工做了一张.9的背景图,宽度110*80 像素,描点如下:

    宽度和拉伸

  放到720p的智能电视上观看,总感觉怪怪的。仔细观看可以发明,远景图总是不能完整的覆盖掉背景图。总有那么一个像素的点多余出来,如图所示:

    宽度和拉伸

  开始以为是美工做的图有问题,翻来覆去让人家改了好几次,效果一直不对,不是720p下不畸形,要么就是1080p下不畸形,终于把小姑娘改烦了。

  想想也是,是否是程序的问题呢?

  动用测量工具测量了一下,发明右边原本5px的边框,居然变成了4px。找了半天,最后终于确定原来是宽度的问题。

    每日一道理
即使青春是一枝娇艳的花,但我明白,一枝独放永远不是春天,春天该是万紫千红的世界。 即使青春是一株大地伟岸的树,但我明白,一株独秀永远不是挺拔,成行成排的林木,才是遮风挡沙的绿色长城。即使青春是一叶大海孤高的帆,但我明白,一叶孤帆很难远航,千帆竞发才是大海的壮观。

  我们应用的是dimension文件做适配,ImageView在720p下的实际宽度设置为233dp。恰恰是这个奇数的宽度,致使9 patch图发生了问题。

  细看应用的9patch背景图,为了避免图片中间的文字被拉伸,我们在文字两边各点了一个像素,用来表示拉伸。

  左右这一个可拉伸像素将根据ImageView的实际巨细来进行填充,填充的宽度应当是相同的。比如有10个像素须要填充,那么左右各拉伸5px就能够了。

  但是如果宽度是奇数的话,比如11,那么按照四舍五入,左边点应当拉伸6px,右边点也一样拉伸6px。问题就产生了,如果右边点也拉伸6px的话,就超过了图片填充的区域宽度。

  所以这个时候看来图片的右边就会多出1px的误差。

  经过试验,将宽度改为偶数即可。

    宽度和拉伸

  这真是很挫的问题,希望大家注意。

  

  原文链接:http://www.67tgb.com/?p=591

  转载注明:望月听涛

文章结束给大家分享下程序员的一些笑话语录: 开发时间
  项目经理: 如果我再给你一个人,那可以什么时候可以完工?程序员: 3个月吧!项目经理: 那给两个呢?程序员: 1个月吧!
项目经理: 那100呢?程序员: 1年吧!
项目经理: 那10000呢?程序员: 那我将永远无法完成任务.

--------------------------------- 原创文章 By
拉伸和问题
---------------------------------


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com