![]() |
1
3
首先,你应该知道透明BMP是非常罕见的。因此,许多(大多数)位图查看器、编码器和解码器不支持透明位图。不过,还是有一些希望的。首先,许多位图是32位的,尽管像素通常以$00BBGGRR格式存储。因此,每个“像素”的第一个字节是未使用的,当然可以使用它作为不透明度值:$AABBGGRR。但这不仅仅是我个人的想法。大多数位图使用 version 3 bitmap header version 4 (和版本5)实际上支持透明数据。只需指定红色、绿色、蓝色和alpha遮罩(例如分别为$000000FF、$0000FF00、$00FF0000和$FF000000),然后就可以存储每个像素的红色、绿色、蓝色和alpha强度。
不过,正如我所说,大多数位图查看器、编码器和解码器都不支持透明位图。我认为VCL编码器、解码器和查看器(
我会考虑使用PNG而不是BMP。PNG位图图像格式以许多不同的方式支持透明度。 |
![]() |
2
0
|
|
Christino · Delphi 2010和泛型 8 年前 |
![]() |
john_who_is_doe · 求值器中的表达式非法(访问冲突)(&A) 10 年前 |
![]() |
JakeSays · 从任务管理器隐藏和显示流程 12 年前 |
|
Edgar Holguin · 德尔福与印度 12 年前 |
![]() |
awmross · 为什么编译器会警告变量可能无法初始化? 13 年前 |