[发明专利]一种在flash上进行位图微像素处理的方法有效
申请号: | 201010523252.4 | 申请日: | 2010-10-28 |
公开(公告)号: | CN102456218A | 公开(公告)日: | 2012-05-16 |
发明(设计)人: | 张诚 | 申请(专利权)人: | 盛乐信息技术(上海)有限公司 |
主分类号: | G06T3/40 | 分类号: | G06T3/40 |
代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 王函 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flash 进行 位图 像素 处理 方法 | ||
技术领域
本发明涉及一种图像处理方法,尤其涉及一种在flash上进行位图微像素处理的方法。
背景技术
flash内部度量对象位置和尺寸的单位是缇(Twips),目的是为了让应用程序元素输出到不同设备时都能保持一致的计算方式。一般可以使用以下换算公式将英寸或厘米转换为缇或磅(1缇为1/20磅):
1磅=1/72英寸=20缇
1英寸=72磅=1440缇
1厘米=567缇
但是在flash中操作显示对象的API(Application Programming Interface,应用程序接口,又称为应用编程接口,就是软件系统不同组成部分衔接的约定)的参数类型大部分是双精度浮点数的数据类型,比如设置DisplayObjetct(DisplayObject类是可放在显示列表中的所有对象的基类)的width(宽),height(高),x,y等属性,这时程序可能表达出比缇精度更高的数值导致flash需要对该值进行取舍。这样的话在某种精度要求很高或有缩放的环境下会导致显示上的sub-pixelbug(亚像素错误)。如图1所示,图1a中3个图片的Scale(比例)设置为1,图1b中3个图片的Scale(比例)设置为1.0006;可以看出图1b的第二和第三个图片中间有一条缝隙,而有的时候这条缝隙是必须处理掉的。
解决上述问题有以下几个难点:
难点1:此类问题不易被发觉和重现。因为此类问题需要特定的缩放环境才能产生,所以一般不易被察觉和重现。当出现时往往认为是程序上的bug而去反复的检查程序,这样给问题的定位带来了困难。
难点2:修复对象的尺寸和位置难以确定。选择一个合适的精度对对象的位置和大小进行修复是比较困难的。
发明内容
本发明要解决的技术问题是提供一种在flash上进行位图微像素处理的方法,该方法可以有效地解决sub-pixel bug(亚像素错误)问题。
为解决上述技术问题,本发明提供一种在flash上进行位图微像素处理的方法,包括如下步骤:
(1)如果出现亚像素错误问题,判断图像是否为简单的平铺方式;如果是则用flash draw API(指在flash创作环境中的绘画的接口方法)提供的beginBitmapFill API方法来解决亚像素错误问题;如果否则进入步骤(2);
(2)判断图像是否可以在父层统一缩放;如果是则在其父层进行统一缩放,以解决亚像素错误问题;如果否则进入步骤(3);
(3)修复对象的位置和尺寸,判断对象的位置和尺寸是否小于flash中能处理的基于缇(Twips)为单位所对应的像素值;如是则对该对象的位置和尺寸基于缇为单位所对应的像素值进行修正,以解决亚像素错误问题。
步骤(1)中,所述用flash draw API提供的beginBitmapFill API方法来解决亚像素错误问题,具体为:用beginBitmapFill API方法设置平铺方式为重复,即设置repeat参数为true来解决亚像素错误问题。
步骤(3)具体包括如下步骤:
A.计算flash中能处理的最小像素值:1磅=1/72英寸=20缇,假设屏幕DPI等于72DPI,则flash中能处理的最小像素值为0.05px,即1/20缇;
B.计算对象的实际尺寸并进行修正:将对象的尺寸X乘以其缩放比例Y得到结果M,发现其结果M非0.05px的整数倍,这时需要对该结果M基于0.05的精度进行四舍五入得结果N;
C.设置对象修正后的尺寸和位置:将步骤B的结果N除以对象的尺寸X得到缩放比例Y’,根据该缩放比例Y’来计算设置对象修正后的尺寸和位置。
本发明的有益效果在于:本发明可以有效地解决sub-pixel bug(亚像素错误)问题,且步骤简单,可操作性强。
附图说明
图1是现有在flash中操作显示对象时导致显示上出现sub-pixel bug(亚像素错误)的示意图;其中,图1a中3个图片的Scale(比例)设置为1;图1b中3个图片的Scale(比例)设置为1.0006;
图2是本发明方法的流程示意图。
具体实施方式
如图2所示,本发明一种在flash上进行位图微像素处理的方法,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛乐信息技术(上海)有限公司,未经盛乐信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010523252.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:金属板焊接方法
- 下一篇:一种链传动安装板总成的自动生产线的焊接机构