CN1471052A - 用于在认可阿尔法通道的环境中使用非阿尔法通道图像数据的系统和方法 - Google Patents

用于在认可阿尔法通道的环境中使用非阿尔法通道图像数据的系统和方法 Download PDF

Info

Publication number
CN1471052A
CN1471052A CNA031493610A CN03149361A CN1471052A CN 1471052 A CN1471052 A CN 1471052A CN A031493610 A CNA031493610 A CN A031493610A CN 03149361 A CN03149361 A CN 03149361A CN 1471052 A CN1471052 A CN 1471052A
Authority
CN
China
Prior art keywords
pixel data
value
alpha
data file
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA031493610A
Other languages
English (en)
Other versions
CN1312632C (zh
Inventor
J・M・J・诺尔
J·M·J·诺尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1471052A publication Critical patent/CN1471052A/zh
Application granted granted Critical
Publication of CN1312632C publication Critical patent/CN1312632C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Abstract

在认可阿尔法通道的环境中使用由不认可阿尔法通道的应用程序着色的图像。通过将每个像素的阿尔法值设置为1,来初始化将由不认可阿尔法通道的应用程序写入的像素数据文件。然后,认可阿尔法通道的应用程序对被初始化的像素数据文件进行写入,改变一些或所有像素数据。随后,将每个像素的阿尔法值减少1(以256为模),从而使改变的像素不透明,使未改变的像素透明。

Description

用于在认可阿尔法通道的环境中使用非阿尔法通道图像数据的 系统和方法
技术领域
本发明涉及计算机图形领域,尤其涉及用于在认可阿尔法通道的环境中使用不认可阿尔法通道的图像的一种系统和方法。
背景技术
为了在计算机显示器上显示图像,必须产生像素数据,该像素数据包含有关显示的每个像素必须怎样做才能产生该图像的信息。应用程序通常把将要被显示的图像着色给一个所提供的像素栅格。栅格的尺寸取决于将要被着色的图像的尺寸。像素栅格对应于一个像素数据文件,该像素数据文件存储在计算机显示器上显示图像所需要的信息。该信息包括图像内所包含的每个像素的一个像素数据值。当将要显示图像时,像素数据文件中的像素栅格被映射到显示的一个实际区域,与其伴随的还有来自在显示的相同区域上所收集的其他图像的像素数据值,这些像素数据值被用于确定显示上的像素应该如何发挥作用。
通常,像素的像素数据值被包含在四个字节中。前三个字节指定像素的红色值、绿色值和蓝色值。在较陈旧的图形环境中,忽略第四个字节。曾经包括这第四个字节只是因为:与三字节增值的存储器相比,大多数处理器设计可以更有效地处理四字节增值的存储器。所以,为了存储像素显示信息,曾通过处理效率来补偿存储成本。
当应用程序把将要被显示的图像着色给一个现存的像素数据文件时,着色该图像的应用程序重写像素数据文件中的部分或全部数据。然后,单独或组合使用所得到的文件,以描述显示图像的显示上的像素的功能运行。阿尔法混合
如上所述,在较陈旧的图形环境中,不使用像素数据值的第四个字节。但是,在较新的图形环境中,使用第四个字节来存储一个阿尔法值(也被称作“一个阿尔法通道”),该阿尔法值被用于被称作“阿尔法混合”的技术中。
阿尔法混合是用于当显示内容由重叠的图像层构成时模拟透明度的一种方法。在阿尔法混合中,每个像素的阿尔法值指定该像素的不透明层次。特别是,阿尔法值0表示像素完全透明,阿尔法值255表示像素完全不透明(非透明)。中间阿尔法值(0与255之间的一个值)表示不透明度的一个中间层次。前景中图像的一个像素的阿尔法值确定来自在背景图像中所收集的任何像素的任何信息将会在什么程度上被显示。
拿阿尔法混合的运用举例来讲,考虑一种计算机显示,其具有的一个图标被显示在背景图案的顶部。为了使用阿尔法混合来创建这种显示,可使用一个像素数据文件,该文件存储关于应该如何绘画该图标的信息。在图标的这个像素数据文件内,对于一些像素而言,所存储的阿尔法值大于0。这些像素是不透明的,正是这些不透明的像素构成图标的图像。所存储的像素数据的栅格中的所有其他像素都具有阿尔法值零。这些像素是透明的,不是图标的图像的一部分。当来自对应于图标的像素数据文件的像素数据被显示在对应于背景图案的背景图案图像的顶部时,显示图标,并且,背景图案图像在其中图标的像素数据文件指出这些像素是透明的任何区域中显示出来。此外,如果图标图像中的任何像素具有一个小于255(完全不透明)的值,则可以通过图标图像来观看来自背景图像图案的一些信息。
通常,当使用阿尔法混合时,具有一个非零阿尔法值的前景图像中的像素与背景图像中的像素结合在一起被显示,或者,在前景图像完全不透明的情况下,它们代替背景图像中的像素。虽然清楚,但背景图像示出图标图像中的任何像素在哪里具有阿尔法值零。这样,实施阿尔法混合的图形环境(一种认可阿尔法通道的环境)可以使用各个阿尔法通道值来显示重叠图像的组合。
不认可阿尔法通道的应用程序
创建像素数据文件的许多较陈旧的应用程序(不认可阿尔法通道的应用程序)不认可阿尔法混合和阿尔法值的运用。在通常情况下,不认可阿尔法通道的应用程序把将要被写入的像素数据文件作为输入,并且,在该像素数据文件中,重写任何数量的像素的像素数据值。利用这种方法,可将新的图像写入像素数据文件。以前曾存在于输入图像数据文件中的任何图像信息在每个像素中被加以重写,这每个像素已由不认可阿尔法通道的应用程序写入。不认可阿尔法通道的应用程序的输出部分或完全是被重写的像素数据文件。
重要的是,当新的像素信息被写入像素数据文件时,许多不认可阿尔法通道的应用程序为被重写的每个像素而将像素数据值的最后一个字节设置为零。这个字节被用作认可阿尔法通道的应用程序中的阿尔法值。
在认可阿尔法通道的环境中使用不认可阿尔法通道的应用程序
当不认可阿尔法通道的应用程序生成用于认可阿尔法通道的环境的一个像素数据文件时,出现了一个问题:不认可阿尔法通道的应用程序所画的图像中的每个像素的阿尔法值被设置为零。不认可阿尔法通道的应用程序不会改变不是由不认可阿尔法通道的应用程序所创建的像素数据,所以,保留这种像素数据的原始阿尔法值(可能大于零)。如果像素数据文件被用于认可阿尔法通道的环境中,则这些像素可能会出现。但是,由于不认可阿尔法通道的应用程序所创建的像素数据具有阿尔法值零,因此,不认可阿尔法通道的应用程序曾经为其将像素数据值写入像素数据文件的每个像素都是透明的。当像素数据文件被用于认可阿尔法通道的环境中时,这些像素将不会出现。
所以,为了在认可阿尔法通道的环境中使用不认可阿尔法通道的应用程序的输出,必须使用某种方法来修改像素数据的阿尔法值。如果不管所有像素是否已由不认可阿尔法通道的应用程序写入就将它们的不透明度更改为一个非零的值,则会导致图像中所有的像素具有某种不透明度,即使不曾由不认可阿尔法通道的应用程序写入且不是预定图像的一部分的像素也是如此。
认识到这种条件,并且,在原先技术中,曾建立一种机制,通过该机制,当对将要被分配给应用程序的像素数据文件进行初始化时,每个像素的像素数据值被设置为一个标记值或颜色。然后,在应用程序已将图像写入像素数据文件之后,检查每个像素的像素数据值。如果一个特殊的像素数据值仍然具有该标记值或颜色,则将那个像素的阿尔法值设置为零。如果该特殊的像素数据值不包含标记值,则将那个像素的阿尔法值设置为一个所需的不透明度。
值得注意的是,这种机制有两个缺点。首先,该机制在计算上花费较高:必须读取每个像素,将其与标记值进行比较,并可能重写每个像素。其次,如果不认可阿尔法通道的应用程序碰巧将一个像素写入与标记值相匹配的一个值,则这种所写入的像素会被错误地变成是透明的。
相应地,需要一种方法和机制,可用于允许不认可阿尔法通道的应用程序为认可阿尔法通道的环境着色的图像。尤其是,需要这样一种方法和机制,其在计算上花费不高,并且,不会引起错误透明的像素。
发明内容
根据本发明,提供了一种系统和方法,该系统和方法允许不认可阿尔法通道的应用程序将像素数据写入像素数据文件。不认可阿尔法通道的应用程序所更改的每个像素都被设置为一个不透明度的预先指定的层次,而不认可阿尔法通道的应用程序没有更改的每个像素被变成是透明的,与原先技术的方法相比,减少了处理时间和发生错误的可能性。
根据本发明的一个实施例,像素数据文件中的每个像素被初始化成具有阿尔法值1。在不认可阿尔法通道的程序已完成对像素数据文件的写入之后,对图像执行一次通过,将每个像素的阿尔法值减少1。该次通过产生由不认可阿尔法通道的程序写入的像素,这些像素曾由那个程序设置为具有新的阿尔法值255的阿尔法值0(由于执行以256为模的字节减法(因为一个字节中有八个位,并且,28=256)。不认可阿尔法通道的应用程序没有写入的每个像素因其阿尔法值0而被变成是透明的,每个这样的像素的阿尔法值的结果被初始化为1,然后被减少1。
根据本发明的另一个实施例,若所需的不透明度由阿尔法值p代表,则在n个位中表示该阿尔法值,阿尔法值2n-1是最不透明的,阿尔法值0是最透明的;若不认可阿尔法通道的应用程序将其所写的每个像素数据值的阿尔法值设置为m,则像素数据文件中的每个像素都被初始化成具有阿尔法值2n-p+m。在不认可阿尔法通道的程序已完成对像素数据文件的写入之后,对图像执行一次通过,将每个像素的阿尔法值减少m-p(以2n为模)。这次通过产生由不认可阿尔法通道的程序写入的、具有阿尔法值p的像素,以及不认可阿尔法通道的程序没有写入的、具有阿尔法值0的像素。
以下将描述本发明的其他方面。
附图说明
当结合附图进行阅读时,会更好地理解前面的概述以及有关目前较佳实施例的以下详细的描述。出于展示本发明的目的,在附图中表现了本发明的示范构造;但是,本发明不局限于所揭示的特殊的方法和工具。在附图中:
图1是方框图,表现了可以在其中执行本发明的各个方面的一种示范计算环境;以及,
图2是方框图,表现了在不认可阿尔法通道的程序已对像素数据文件进行写入之前的像素数据文件中的一组被预先初始化的像素。
图3是方框图,表现了在不认可阿尔法通道的程序已对像素数据文件进行写入之后但在阿尔法值根据发明方法进行转变之前的像素数据文件中的一组像素。
图4是方框图,表现了阿尔法值根据发明方法进行转变之后的像素数据文件中的一组像素。
图5是发明方法的流程图。
具体实施方式
纵览
在本发明中,当不认可阿尔法通道的应用程序着色将要被用于认可阿尔法通道的环境中的图像时,由该应用程序写入像素数据文件的每个像素的阿尔法值被设置成使该像素不透明,没有被该应用程序写入像素数据文件的每个像素被设置成使该像素透明。
示范计算环境
图1展示了可以在其中执行本发明的一种合适的计算系统环境100的一个例子。计算系统环境100只是合适的计算环境的一个例子,并非意在对本发明的运用或功能性的范围进行任何限制。也不应该将计算环境100解释为具有涉及示范操作环境100中所展示的任何一个部分或部分组合的任何从属性或要求。
本发明可用于许多其他通用或专用的计算系统环境或配置。可能适用于本发明的众所周知的计算系统、环境和/或配置的例子包括(但不局限于)个人计算机、服务器计算机、手持或便携式设备、多处理器系统、基于微处理器的系统、置顶盒、可编程消费电子设备、网络PCs、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境,以及类似物。
本发明可以在正由计算机执行的计算机可执行指令(例如,程序模块)的一般上下文中加以描述。通常,程序模块包括执行特殊任务或实施特殊抽象数据类型的例行程序、程序、对象、部件、数据结构等。本发明也可以在分布式计算环境中加以实践,在这些分布式计算环境中,由通过通信网络或其他数据传输介质而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块和其他数据可以被定位在包括内存存储设备的本地计算机存储介质和远程计算机存储介质中。
参考图1,用于执行本发明的一个示范系统包括采取计算机系统100的形式的一个通用计算设备。计算机110的部件可以包括(但不局限于)一个处理部件120、一个系统存储器130,以及将包括系统存储器的各种系统部件耦合到处理部件120的一个系统总线121。系统总线121可以是几种类型的总线结构(包括存储总线或存储控制器、外围总线,以及使用各种总线构造中的任何一种总线构造的本地总线)中的任何一种。举例来讲(不作限制),这类构造包括“工业标准结构”(ISA)总线、“微通道结构”(MCA)总线、“增强的ISA”(EISA)总线、“视频电子标准协会”(VESA)本地总线,以及“外围部件互连”(PCI)总线(也被称作“中层楼(Mezzanine)总线”)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110进行存取的任何可用的介质,包括易失和非易失介质、可移动和不可移动介质。举例来讲(不作限制),计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括采用用于存储信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术来加以执行的易失和非易失的可移动和不可移动的介质。计算机存储介质包括(但不局限于)RAM、ROM、EEPROM、快闪存储器或其他存储器技术、CD-ROM、数字通用磁盘(DVD)或其他光盘存储器、盒式磁盘、磁带、磁盘存储器或其他磁性存储设备、或可以被用于存储所需信息并可以由计算机110进行存取的任何其他介质。通信介质通常具体体现为计算机可读指令、数据结构、程序模块或被调制的数据信号(例如,载波或其他传送机制)中的其他数据,并且包括任何信息传递介质。术语“被调制的数据信号”意味着一种信号,该信号的一个或多个特征用这样一种方式来进行设置或更改,以便为该信号中的信息编码。举例来讲(不作限制),通信介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声音、RF、红外线和其他无线介质)。以上任何内容的组合也应该被包括在计算机可读介质的范围内。
系统存储器130包括采取易失和/或非易失存储器(例如,只读存储器(ROM)131和随机存取存储器(RAM)132)的形式的计算机存储介质。基本输入/输出系统133(BIOS)(包含有助于在计算机110内的各个元件之间传递信息的基本例行程序)通常被存储在ROM131中。RAM132通常包含可以立即进行存取和/或目前正由处理部件120进行操作的数据和/或程序模块。举例来讲(不作限制),图1展示了操作系统134、应用程序135、其他程序模块136和程序数据137。
计算机110也可以包括其他可移动/不可移动的易失/非易失计算机存储介质。仅仅通过举例,图1展示了从不可移动的非易失磁性介质进行读取或对其进行写入的硬盘驱动器140、从可移动的非易失磁盘152进行读取或对其进行写入的磁盘驱动器151,以及从可移动的非易失光盘156(例如,CD ROM或其他光学介质)进行读取或对其进行写入的光盘驱动器155。可以被用于示范操作环境中的其他可移动/不可移动的易失/非易失计算机存储介质包括(但不局限于)卡型盒式磁带、快闪记忆卡、数字通用磁盘、数字视频磁带、固态RAM、固态ROM和类似物。硬盘驱动器141通常通过一个不可移动的存储接口(例如,接口140)而被连接到系统总线121,磁盘驱动器151和光盘驱动器155通常由一个可移动的存储接口(例如,接口150)而被连接到系统总线121。
以上所讨论的和图1中所展示的驱动器及其有关的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图1中,硬盘驱动器141被展示为存储操作系统144、应用程序145、其他程序模块146和程序数据147。注意,这些部件可以等同于或不同于操作系统134、应用程序135、其他程序模块136和程序数据137。这里,为操作系统144、应用程序145、其他程序模块146和程序数据147提供不同的数字,以至少展示它们是不同的副本。用户可以通过输入设备(例如,键盘162)和定点设备161(通常指鼠标、跟踪球或接触垫)来将命令和信息输入计算机20。其他输入设备(未示出)可以包括话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪或类似物。这些和其他输入设备经常通过被耦合到系统总线的用户输入接口160而被连接到处理部件120,但可以由其他接口和总线结构(例如,并行端口、游戏端口或通用串行总线(USB))进行连接。监视器191或其他类型的显示设备也经由一个接口(例如,视频接口190)而被连接到系统总线121。除监视器以外,计算机也可以包括可通过输出外围接口190而被连接的其他外围输出设备(例如,扬声器197和打印机196)。
计算机110可以在使用与一台或多台远程计算机(例如,远程计算机180)的逻辑连接的联网环境中进行操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、同位体设备或其他共同的网络节点,它通常包括与计算机110有关的以上所描述的许多或所有元件,虽然图1中只展示了内存存储设备181。图1中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其他网络。这类联网环境在办公室、企业范围的计算机网络、内联网和互联网中很普遍。
当被用于LAN联网环境中时,计算机110通过网络接口或适配器170而被连接到LAN171。当被用于WAN联网环境中时,计算机110通常包括用于在WAN173(例如,互联网)上建立通信的一个调制解调器172或其他装置。调制解调器172(可能是内置的,也可能是外置的)可以经由用户输入接口160或其他合适的机制而被连接到系统总线121。在联网环境中,与计算机110有关的所描绘的程序模块或其各个部分可以被存储在远程内存存储设备中。举例来讲(不作限制),图1将远程应用程序185展示为驻留在存储器设备181上。将会理解,所示的网络连接是起示范作用,可以使用在各台计算机之间建立一个通信链接的其他装置。
变换不认可阿尔法通道的应用程序的输出
根据本发明的一个实施例,一种方法允许在认可阿尔法通道的环境中使用来自不认可阿尔法通道的应用程序的输出。为此,必须有一种途径,可以将不认可阿尔法通道的应用程序已更改的像素数据文件中的每个像素的阿尔法值更改为零——一个所需的不透明度,并将没有被不认可阿尔法通道的应用程序改变的像素数据文件中每个像素的阿尔法值设置为零。
在图2、3和4中,每个像素被表示为具有括弧中的四个数字的一个小正方形,它对应于被存储在该像素的像素数据文件199中的四个字节的信息(像素数据值)。最后一个字节是阿尔法值。
根据本发明的一个实施例,并且如所示的内容,像素数据文件199被用于存储将要被产生的图像。最终的图像中将不会显示来自像素数据文件199(除此以外,不认可阿尔法通道的应用程序将会对其写入数据)的数据,所以,所使用的像素数据文件不应该是其中正在存储任何重要数据的文件。
从图2中可见,像素数据文件199的每个像素200的阿尔法值(最后一个字节)被初始化为一个值:1。每个像素200的前三个字节(红色值、绿色值、蓝色值)的值出于本发明的目的而互不相关;例如,对于每个像素200而言,这些字节值等于255。如图5中的流程图的第一个步骤510中所示,在不认可阿尔法通道的应用程序操作像素数据文件199之前,实行初始化。
如图5的第二个步骤520中所示,在被初始化之后,图2中的像素数据文件199被不认可阿尔法通道的应用程序使用,该应用程序通过改变一些或所有像素200的像素数据值来将图像写入像素数据文件199。
如图3所示,在不认可阿尔法通道的应用程序操作像素数据文件199之后,改变的像素305由不认可阿尔法通道的应用程序写入。其他像素——未改变的像素310还没有被阿尔法通道应用程序写入,并包含其在运行不认可阿尔法通道的应用程序之前所具有的相同的值。
每个改变的像素305的阿尔法值已被设置为0,其他字节的值也已在许多情况中被加以改变。但是,注意,对于改变的像素305中的一个像素而言,像素数据值是(255,255,255,0)。红色值、绿色值和蓝色值保留在255处,而那个像素的阿尔法值还是0,这指出那个像素已由不认可阿尔法通道的应用程序写入,即使无法通过检查像素数据的前三个字节来看到这一点,也是如此。
如图5的第三个步骤530中所示,所有像素(改变的像素305和未改变的像素310)中的每个阿尔法值被减少1。图4中示出所得到的像素数据文件。当对字节执行时,执行以256为模的这个减值。所以,对于其阿尔法值曾一直是零的每个像素405(来自图3的改变的像素305)而言,当像素数据文件199被用于认可阿尔法通道的应用程序中时,新的阿尔法值变成255,并且,该像素变成不透明。其阿尔法值曾一直是1的每个像素410(来自图3的未改变的像素310)的阿尔法值变成0,当像素数据文件199被用于认可阿尔法通道的应用程序中时,每个像素410变成透明。这样,通过只对每个像素执行一项算术运算,无须进行比较,曾由不认可阿尔法通道的应用程序更改的像素305就会是不透明的,而未改变的像素310会是透明的。如图5的第四个步骤540中所示,然后,可以在认可阿尔法通道的环境中使用具有图像的像素数据文件199。
本发明的其他实施例也是可行的。在一些图形系统中,像素数据被包含在两个字节(而不是四个字节)中。在这些系统中,为红色值、绿色值和蓝色值中的每个值使用5个位,最后一个位是阿尔法位(透明是0;不透明是1)。在这种情况下,在运行不认可阿尔法通道的应用程序之前,应该将包含阿尔法值的位设置为1;在运行该应用程序之后,应该改变阿尔法位(从1改变成0;从0改变成1)。通过增值、减值或按理想效率来执行这项变化的任何其他的逻辑操作者装置,可以实现这一点。
通过将阿尔法值设置为1并执行以2n为模的1的减法,像素信息的任何其他的存储系统(其中,不透明度由阿尔法值2n-1表示(换言之,该阿尔法值长n个位),透明度由阿尔法值0表示)都可以利用本发明的方法。
可能存在一种不认可阿尔法通道的应用程序,该应用程序将改变的像素的阿尔法值设置为值m(而不是零)。这里,通过在运行该应用程序之前将阿尔法通道初始化成值m+1,然后以2n为模(其中,n是阿尔法值中的位的数目)将阿尔法通道中的各个值减少m+1,可以利用本发明的方法。
由不认可阿尔法通道的应用程序产生的图像也可能被预定只是局部不透明。在这种情况下,并且,若阿尔法值长n个位,完全不透明由阿尔法值2n-1表示,所产生的图像需要具有不透明度值p,本发明的方法将每个阿尔法值初始化为值2n-p,并在运行该应用程序之后将p(以2n为模)加入每个阿尔法值。在不认可阿尔法通道的应用程序将阿尔法通道的值设置为零的情况下,使用这种方法。
可以结合这些情况—其中,阿尔法通道长n个位,不认可阿尔法通道的应用程序将阿尔法通道的值设置为m,所需的不透明度是p,每个像素的阿尔法值应该被初始化为2n-p+m,然后,在运行不认可阿尔法通道的应用程序之后,应该加入p-m(或减去m-p),以2n为模。
可以在图形系统、操作系统、其上存储有多个计算机可执行指令的计算机可读介质、协处理设备、计算设备或携带用于执行这种方法的计算机可执行指令的被调制的数据信号中实施该方法。
结论
实现本发明的各个结构所必需的编程以及结合本发明而执行的程序相对简单明了,相关的编程特定人群对此应该很清楚。相应地,这种编程并不局限于此。因此,在不脱离本发明的精神和范围的前提下,可以使用任何特殊的编程来实现本发明。
在前文中可见,本发明包括一种新的、有用的机制,该机制允许不认可阿尔法通道的应用程序为认可阿尔法通道的环境着色图像。应该理解,在不脱离所描述的实施例的发明概念的前提下,可以对这些实施例进行更改。所以,不言而喻,本发明不局限于所揭示的特殊实施例,而意在包含在如所附权利要求书所定义的本发明的精神和范围以内进行修改。

Claims (19)

1.用于在认可阿尔法通道的环境中使用由不认可阿尔法通道的应用程序着色的像素数据文件中的图像的一种方法,其中,(i)不认可阿尔法通道的应用程序将像素数据值写入像素数据值的一个现存的像素数据文件;(ii)每个像素数据值包括一个n位阿尔法值,并对应于一个像素位置;(iii)不认可阿尔法通道的应用程序为每个像素将像素数据值的阿尔法值设置为0,每个像素的像素数据值由该应用程序写入像素数据文件;以及(iv)认可阿尔法通道的环境是一种图形环境,在该环境中,当在其他图像数据的前景中显示像素数据文件中的图像时,使用每个阿尔法值来设置对应的像素的透明度,阿尔法值零对应于完全透明,不断增加的阿尔法值对应于不断提高的不透明度的层次,包括:
(a)为像素数据文件中的每个像素数据值,将像素数据值的阿尔法值初始化为1;
(b)对像素数据文件执行不认可阿尔法通道的应用程序;
(c)通过为具有阿尔法值1的像素数据文件中的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为0,并为具有阿尔法值为0的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为完全不透明的阿尔法值,来改变每个像素数据值的阿尔法值;以及,
(d)在认可阿尔法通道的环境中显示像素数据文件。
2.如权利要求1所述的方法,其特征在于,像素数据值的阿尔法值的所述变化包括:为像素数据文件中的每个像素数据值,将像素数据值的阿尔法值减少1,以2n为模。
3.如权利要求2所述的方法,其特征在于,从包括1和8的一组中选择n。
4.操作系统、其上存储有多个计算机可执行指令的计算机可读介质、协处理设备、计算设备以及携带用于执行如权利要求1所述的方法的计算机可执行指令的被调制的数据信号中的至少一种。
5.用于在认可阿尔法通道的环境中使用由不认可阿尔法通道的应用程序着色的像素数据文件中的图像的一种方法,其中,(i)不认可阿尔法通道的应用程序将像素数据值写入像素数据值的一个现存的像素数据文件;(ii)每个像素数据值包括一个n位阿尔法值,并对应于一个像素位置;(iii)不认可阿尔法通道的应用程序为每个像素将像素数据值的阿尔法值设置为m,每个像素的像素数据值由该应用程序写入像素数据文件;以及(iv)认可阿尔法通道的环境是一种图形环境,在该环境中,当在其他图像数据的前景中显示像素数据文件中的图像时,使用每个阿尔法值来设置对应的像素的透明度,阿尔法值零对应于完全透明,不断增加的阿尔法值对应于不断提高的不透明度的层次,包括:
(a)为像素数据文件中的每个像素数据值,将像素数据值的阿尔法值初始化为m+1;
(b)对像素数据文件执行不认可阿尔法通道的应用程序;
(c)通过为具有阿尔法值m的像素数据文件中的每个像素数据值,将像素数据文件中的像素数据的阿尔法值更改为0,并为具有阿尔法值0的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为完全不透明的阿尔法值,来改变每个像素数据值的阿尔法值;以及,
(d)在认可阿尔法通道的环境中显示像素数据文件。
6.如权利要求5所述的方法,其特征在于,每个像素数据值的阿尔法值的所述变化包括:为像素数据文件中的每个像素数据值,将像素数据值的阿尔法值减少m+1,以2n为模。
7.操作系统、其上存储有多个计算机可执行指令的计算机可读介质、协处理设备、计算设备以及携带用于执行如权利要求5所述的方法的计算机可执行指令的被调制的数据信号中的至少一种。
8.一种用于在认可阿尔法通道的环境中使用不认可阿尔法通道的应用程序所述的方法,其中,(i)不认可阿尔法通道的应用程序将像素数据值写入像素数据值的一个现存的像素数据文件;(ii)每个像素数据值包括一个n位阿尔法值,并对应于一个像素位置;(iii)不认可阿尔法通道的应用程序为每个像素将像素数据值的阿尔法值设置为m,每个像素的像素数据值由该应用程序写入像素数据文件;(iv)认可阿尔法通道的环境是一种图形环境,在该环境中,当在其他图像数据的前景中显示像素数据文件中的图像时,使用每个阿尔法值来设置对应的像素的透明度,阿尔法值零对应于完全透明,不断增加的阿尔法值对应于不断提高的不透明度的层次;以及
(v)由不认可阿尔法通道的应用程序写入的像素的所需不透明度的阿尔法值是p,其特征在于包括:
(a)为像素数据文件中的所有像素数据值,将像素数据值的阿尔法值初始化为2n-p+m;
(b)对像素数据文件执行不认可阿尔法通道的应用程序;
(c)通过为具有阿尔法值2n-p+m的像素数据文件中的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为m,并为具有阿尔法值m的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为p,来改变每个像素数据值的阿尔法值;以及,
(d)在认可阿尔法通道的环境中显示像素数据文件。
9.如权利要求8所述的方法,其特征在于,像素数据值的阿尔法值的所述变化包括:为像素数据文件中的所有像素数据值,将像素数据值的阿尔法值减少p-m,以2n为模。
10.如权利要求8所述的方法,其特征在于,像素数据值的阿尔法值的所述变化包括:为像素数据文件中的所有像素数据值,将像素数据值的阿尔法值减少m-p,以2n为模。
11.如权利要求8所述的方法,其特征在于,p或m中的至少一个是零。
12.操作系统、其上存储有多个计算机可执行指令的计算机可读介质、协处理设备、计算设备以及携带用于执行如权利要求8所述的方法的计算机可执行指令的被调制的数据信号中的至少一种。
13.一种计算机图形系统,它包括计算机可执行模块,用于在认可阿尔法通道的环境中使用由不认可阿尔法通道的应用程序着色的像素数据文件中的图像,其中,(i)不认可阿尔法通道的应用程序将像素数据值写入像素数据值的一个现存的像素数据文件;(ii)每个像素数据值包括一个n位阿尔法值,并对应于一个像素位置(iii)不认可阿尔法通道的应用程序为每个像素将像素数据值的阿尔法值设置为0,每个像素的像素数据值由该应用程序写入像素数据文件;以及(iv)认可阿尔法通道的环境是一种图形环境,在该环境中,当在其他图像数据的前景中显示像素数据文件中的图像时,使用每个阿尔法值来设置对应的像素的透明度,阿尔法值零对应于完全透明,不断增加的阿尔法值对应于不断提高的不透明度的层次,所述计算机模块包括:
(a)用于为像素数据文件中的每个像素数据值,将像素数据值的阿尔法值初始化为1的装置:
(b)用于对像素数据文件执行不认可阿尔法通道的应用程序的装置;
(c)用于改变每个像素数据值的阿尔法值的装置,其实行可通过为具有阿尔法值1的像素数据文件中的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为0,并为具有阿尔法值0的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为完全不透明的阿尔法值;以及,
(d)用于在认可阿尔法通道的环境中显示像素数据文件的装置。
14.如权利要求13的计算机图形系统,其特征在于,用于改变像素数据值的阿尔法值的所述装置包括用于为像素数据文件中的每个像素数据而将像素数据值的阿尔法值减少1的装置,以2n为模。
15.如权利要求13所述的方法,其特征在于,从包括1和8的一组中选择n。
16.一种计算机图形系统,它包括计算机可执行模块,用于在认可阿尔法通道的环境中使用不认可阿尔法通道的应用程序,其中,(i)不认可阿尔法通道的应用程序将像素数据值写入像素数据值的一个现存的像素数据文件;(ii)每个像素数据值包括一个n位阿尔法值,并对应于一个像素位置;(iii)不认可阿尔法通道的应用程序为每个像素将像素数据值的阿尔法值设置为m,每个像素的像素数据值由该应用程序写入像素数据文件;(iv)认可阿尔法通道的环境是一种图形环境,在该环境中,当在其他图像数据的前景中显示像素数据文件中的图像时,使用每个阿尔法值来设置对应的像素的透明度,阿尔法值零对应于完全透明,不断增加的阿尔法值对应于不断提高的不透明度的层次;以及(v)由不认可阿尔法通道的应用程序写入的像素的所需不透明度的阿尔法值是p,所述计算机可执行模块包括:
(a)用于为像素数据文件中的所有像素数据值,将像素数据值的阿尔法值初始化为2n-p+m的装置;
(b)用于对像素数据文件执行不认可阿尔法通道的应用程序的装置;
(c)用于改变每个像素数据值的阿尔法值的装置,其实行可通过为具有阿尔法值2n-p+m的像素数据文件中的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为m,并为具有阿尔法值m的每个像素数据值,将像素数据文件中的像素数据值的阿尔法值更改为p;以及,
(d)用于在认可阿尔法通道的环境中显示像素数据文件的装置。
17.如权利要求16所述的计算机图形系统,其特征在于,用于改变像素数据的阿尔法值的所述装置包括用于为像素数据文件中的所有像素数据而将像素数据的阿尔法值增加p-m的装置,以2n为模。
18.如权利要求16所述的计算机图形系统,其特征在于,用于改变像素数据的阿尔法值的所述装置包括用于为像素数据文件中的所有像素数据而将像素数据的阿尔法值增加m-p的装置,以2n为模。
19.如权利要求16所述的计算机图形系统,其特征在于,p或m中的至少一个是零。
CNB031493610A 2002-06-28 2003-06-17 用于在认可阿尔法通道的环境中使用非阿尔法通道图像数据的系统和方法 Expired - Fee Related CN1312632C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/185,076 2002-06-28
US10/185,076 US6954215B2 (en) 2002-06-28 2002-06-28 System and method for employing non-alpha channel image data in an alpha-channel-aware environment

Publications (2)

Publication Number Publication Date
CN1471052A true CN1471052A (zh) 2004-01-28
CN1312632C CN1312632C (zh) 2007-04-25

Family

ID=27612985

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031493610A Expired - Fee Related CN1312632C (zh) 2002-06-28 2003-06-17 用于在认可阿尔法通道的环境中使用非阿尔法通道图像数据的系统和方法

Country Status (15)

Country Link
US (1) US6954215B2 (zh)
EP (1) EP1376473A3 (zh)
JP (1) JP4412580B2 (zh)
KR (2) KR100874800B1 (zh)
CN (1) CN1312632C (zh)
AU (1) AU2003204703B2 (zh)
BR (1) BR0302116A (zh)
CA (1) CA2432383C (zh)
MX (1) MXPA03005365A (zh)
MY (1) MY140706A (zh)
NO (1) NO330126B1 (zh)
PL (1) PL360235A1 (zh)
RU (1) RU2321891C2 (zh)
TW (1) TWI326056B (zh)
ZA (1) ZA200304642B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612037B1 (ko) * 2004-12-24 2006-08-21 유은옥 자동발란싱 고속보링바
US7492957B1 (en) * 2005-08-29 2009-02-17 Symantec Corporation Using run length encoding to detect target images
US8189908B2 (en) 2005-09-02 2012-05-29 Adobe Systems, Inc. System and method for compressing video data and alpha channel data using a single stream
US8014615B2 (en) * 2005-09-02 2011-09-06 Adobe Systems Incorporated System and method for decompressing video data and alpha channel data using a single stream
US20070219307A1 (en) * 2006-03-17 2007-09-20 Yong Yang Emulsion polymer blend coating compositions and methods for increasing chalky substrate adhesion
US8717391B2 (en) * 2010-11-19 2014-05-06 Apple Inc. User interface pipe scalers with active regions
CN102244784B (zh) * 2011-06-09 2014-03-26 杭州典能科技有限公司 含透明信息图片压缩和显示的方法
US10074203B2 (en) * 2014-12-23 2018-09-11 Synaptics Incorporated Overlay for display self refresh
US10565739B2 (en) 2017-12-29 2020-02-18 Cerner Innovation, Inc. Automated icon accessibility assessment algorithm and tool
US10573052B2 (en) * 2018-02-13 2020-02-25 Adobe Inc. Creating cinemagraphs with virtual long-exposure images
US10796421B2 (en) 2018-02-13 2020-10-06 Adobe Inc. Creating selective virtual long-exposure images
CN114286163B (zh) * 2021-12-24 2024-02-13 苏州亿歌网络科技有限公司 一种序列图的录制方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5914725A (en) * 1996-03-07 1999-06-22 Powertv, Inc. Interpolation of pixel values and alpha values in a computer graphics display device
GB2317292B (en) * 1996-09-12 2000-04-19 Discreet Logic Inc Processing image data
US6128001A (en) * 1997-04-04 2000-10-03 Avid Technology, Inc. Methods and apparatus for changing a color of an image
US5982381A (en) * 1997-07-03 1999-11-09 Microsoft Corporation Method and apparatus for modifying a cutout image for compositing
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
WO2001093200A1 (en) 2000-05-29 2001-12-06 Canon Kabushiki Kaisha A method for enabling file format compatibility

Also Published As

Publication number Publication date
KR20080089560A (ko) 2008-10-07
US6954215B2 (en) 2005-10-11
EP1376473A2 (en) 2004-01-02
KR100918532B1 (ko) 2009-09-21
PL360235A1 (en) 2003-12-29
US20040001071A1 (en) 2004-01-01
CA2432383C (en) 2012-01-03
TWI326056B (en) 2010-06-11
ZA200304642B (en) 2004-07-06
CN1312632C (zh) 2007-04-25
JP4412580B2 (ja) 2010-02-10
AU2003204703B2 (en) 2009-10-08
KR100874800B1 (ko) 2008-12-19
BR0302116A (pt) 2004-09-08
TW200406716A (en) 2004-05-01
NO330126B1 (no) 2011-02-21
MXPA03005365A (es) 2004-01-22
AU2003204703A1 (en) 2004-01-15
EP1376473A3 (en) 2005-12-28
MY140706A (en) 2010-01-15
CA2432383A1 (en) 2003-12-28
RU2321891C2 (ru) 2008-04-10
JP2004038957A (ja) 2004-02-05
NO20032747D0 (no) 2003-06-17
NO20032747L (no) 2003-12-29
KR20040002549A (ko) 2004-01-07

Similar Documents

Publication Publication Date Title
KR100918532B1 (ko) 알파 채널 인식 환경에서 비알파 채널 영상 데이터를 이용하는 코프로세싱 장치 및 컴퓨팅 장치
CN1763786A (zh) 用于3d中硬件加速的抗图形失真方法
CN1853199A (zh) 多模式视窗呈现系统和过程
CN1610926A (zh) 用于区带渲染的有效图形状态管理
CN111597003B (zh) 一种画面渲染方法、装置、计算机设备和介质
CN1630911A (zh) 多级闪存的部分页编程
CN1804796A (zh) 基于树视图的编辑器中的内联属性编辑系统和方法
JP2007312126A (ja) 画像処理回路
DE19920214A1 (de) Verfahren und Einrichtung zum Konvertieren einer Zahl zwischen einem Gleitkommaformat und einem Ganzzahlformat
GB2521234A (en) Method of and apparatus for displaying an output surface in data processing systems
CN1685363A (zh) 任意形状图像的基于块的旋转
CN1035797C (zh) 数字视频信号压缩方法和装置
CN85107929A (zh) 存贮器电路
CN100485719C (zh) 图像处理设备和图像处理方法
US8049754B2 (en) Multiple source waveform drawing system and method
CN111340207B (zh) 浮点数转换方法及装置
RU2003117474A (ru) Система и способ для использования данных изображений не альфа-канала в среде информированной об альфа-канале
CN105761667B (zh) Led智能玻璃视频控制方法
JPH04140892A (ja) 制御データをエンコードする装置及び方法
CN107704340A (zh) Pe镜像文件生成方法、装置及电子设备
CN100342328C (zh) 带有复制寄存器文件的vliw处理器
US20050097127A1 (en) Reordering data between a first predefined order and a second predefined order with secondary hardware
CN1172232C (zh) 用于电脑系统的显示器
CN111045623A (zh) 一种多gpu拼接环境下图形命令的处理方法
CN1084895C (zh) 存储控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150515

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150515

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070425

Termination date: 20170617