当前位置:  开发笔记 > 编程语言 > 正文

pygame中的混合模式是什么意思?

如何解决《pygame中的混合模式是什么意思?》经验,为你挑选了1个好方法。

Surface.blit在1.8中有一个新参数:blend.定义了以下值:

BLEND_ADD

BLEND_SUB

BLEND_MULT

BLEND_MIN

BLEND_MAX

BLEND_RGBA_ADD

BLEND_RGBA_SUB

BLEND_RGBA_MULT

BLEND_RGBA_MIN

BLEND_RGBA_MAX

BLEND_RGB_ADD

BLEND_RGB_SUB

BLEND_RGB_MULT

BLEND_RGB_MIN

BLEND_RGB_MAX

有人可以解释这些模式的含义吗?



1> Aaron Digull..:

您可以在这里找到混合操作的来源:surface.h

基本上,ADD添加两个源像素并将结果剪辑为255. SUB将两个像素和剪辑减去0.

MULT: result = (p1 * p2) / 256

MIN:选择每个通道的较低值(不是整个像素),因此如果pixel1是(100,10,0)和pixel2 (0,10,100),则得到(0,10,0)

MAX:MIN(即(100,10,100))的对面

还有一个额外的混合模式,从文档中不明显:( 0或只是将参数保留).此模式将"标记"源表面到目标.如果源表面具有alpha通道,则将确定每个像素的"强"程度(0=无效果,255=复制像素,128:) result = .5*source + .5*destination.

有用效果:要使某个区域变暗,请使用混合模式0,将源/印章表面填充为黑色并将alpha设置为10:(0,0,0,10).

要减轻它,使用白色(255,255,255,10).

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有