Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 位放大器中的混合模式数据_Actionscript 3_Flash_Bitmap - Fatal编程技术网

Actionscript 3 位放大器中的混合模式数据

Actionscript 3 位放大器中的混合模式数据,actionscript-3,flash,bitmap,Actionscript 3,Flash,Bitmap,我正在开发一个从.swf文件中提取位图的查看器。它们都被定义为类,因此我可以通过以下方式获得它们: getBitmap = event.target.applicationDomain.getDefinition(name); getBitmap = new getBitmap; 这些都是图像的不同部分,我必须重建它。我几乎完成了,唯一缺少的是混合模式。现在,我不知道从哪里获得混合模式。有些零件只有正常的混合模式,有些零件具有不同的混合模式 首先,我不知道是否有可能在位图中定义blendMod

我正在开发一个从.swf文件中提取位图的查看器。它们都被定义为类,因此我可以通过以下方式获得它们:

getBitmap = event.target.applicationDomain.getDefinition(name);
getBitmap = new getBitmap;
这些都是图像的不同部分,我必须重建它。我几乎完成了,唯一缺少的是混合模式。现在,我不知道从哪里获得混合模式。有些零件只有正常的混合模式,有些零件具有不同的混合模式


首先,我不知道是否有可能在位图中定义blendMode。有没有办法从中获取所有信息

不,如果它实际上只是一个位图,这意味着它实际上是图像的一个贴图,就像坐标到颜色值的笛卡尔图,这实际上是一个位图,这是不可能的。其他格式的图像文件只是上述位图的编码版本,以减少大多数情况下的内存大小(颜色可以是RGB或RGB加Alpha)。混合模式(在flash中)是运行时多个对象之间的交互问题,也就是说如何基于多个对象的混合计算显示值。如果您选择此选项,您可以在某个对象上设置混合模式,将其覆盖在另一个对象上,将生成的容器绘制为位图,然后提取颜色信息,但是当您存储图像时,没有与之相关联的混合模式的感觉(除非它是某些专有格式,如PSD或其他格式,但不是任何常见的图像格式)。在位图的情况下,与“混合”相关的唯一值是alpha值,该值确定对象后面的颜色对该像素的显示颜色的影响程度,或者更确切地说,该像素对其覆盖的颜色的影响程度

^请注意,混合模式是DisplayObject的一个属性,BitmapData不从中扩展,因此,尽管有任何其他知识,但很明显BitmapData本身没有blendMode。在blendMode上的BitmapData文档中,您可以找到的唯一信息是关于draw方法的,在这种情况下,blendMode用于设置像素值,但随后不是BitmapData的可访问属性

我想我会为那些超级书呆子们提供更多的细节(毫无疑问,那些人会因为我没有提到CMYK和颜色空间而感到不安)。我知道你可以使用其他颜色模型,比如CMYK,它是减法的,而不是加法的,并且是印刷中使用的方法,但是对于显示器来说,它都转换成某种RGB,因为光线是加法性质的。RGB可以是8位aka 256色、16位65536色、24位16777216色或32位4294967296色(如果包括A,则是增加颜色空间的另一位深度因子,但是A实际上是唯一与“混合”相关的东西)。我几乎可以肯定的是,任何高于32位的东西都高于我们要区分的阈值,更不用说大脑通过相对变化处理视觉数据的方式了。它可能没有颜色之间的关系(对比度)重要

除了颜色模型之外,还有一些颜色空间可以将值映射到实际显示的颜色(我的好友告诉我,这在Android蜂巢的某些版本中进行了调整,以减少一些人喜欢的饱和度,而另一些人对此感到愤怒)

这最终会渗透到生物学和对视锥和视杆的研究,以及光子如何刺激视锥和视杆,以及它们如何相互作用,然后这些信息如何编码在眼睛的神经束中,如何通过视觉皮层发送,以及最终我们的大脑如何解释这些信号,由于上述生物和头部发育的各个层次的差异,这在人类之间是不同的。不管怎样,这已经超出了我个人的书呆子专业领域,所以如果生物书呆子愿意的话,我会把它留给他们去扩展。这似乎是一个很好的解释:虽然这需要更多的理解,而不是我有时间去钻研

另一个让我感兴趣的部分是,硬件能够准确地重新创建颜色空间应用后最终确定的值。所有电子元件都有一定程度的误差/可变性(很像我们的眼睛/大脑),因此毫无疑问,硬件、甚至工作温度和其他环境因素都会产生差异。不管怎样,我确信我现在已经陷得太深了,如果第一点不能回答你的问题,请告诉我