Delphi 如何显示部分透明位图
我想在Delphi中反别名一些位图。文件从文件加载,分配给图像,处理(Delphi 如何显示部分透明位图,delphi,bitmap,transparency,delphi-xe,Delphi,Bitmap,Transparency,Delphi Xe,我想在Delphi中反别名一些位图。文件从文件加载,分配给图像,处理(apply\u kernel)并将结果分配给另一个图像。在Delphi中,当Image.transparent=True时,左/下像素确定透明颜色。我只使用32位位图 dump ('henon.bmp'); Image3.Picture.LoadFromFile ('henon.bmp'); apply_kernel (Image3.Picture.Bitmap, bitmap, kernel); Image4.Picture
apply\u kernel
)并将结果分配给另一个图像。在Delphi中,当Image.transparent=True
时,左/下像素确定透明颜色。我只使用32位位图
dump ('henon.bmp');
Image3.Picture.LoadFromFile ('henon.bmp');
apply_kernel (Image3.Picture.Bitmap, bitmap, kernel);
Image4.Picture.Bitmap := bitmap;
Image4.Picture.Bitmap.SaveToFile ('alias.bmp');
dump ('alias.bmp');
这适用于分配给Image3的加载位图,但不适用于分配给Image4的计算位图。左侧/底部的颜色保持不变(白色)。为了了解发生了什么,我将位图分别转储到文件中,每个颜色(请参见下面的转储)。我确实检查了图像的透明度,自动调整大小是,中心和拉伸也是,位图是32x32,图像也是。我还尝试设置透明色:=clWhite,但没有成功。我一定犯了一个很愚蠢的错误,但找不到。谁能帮帮我吗
编辑
Torbins提醒我我忘记了保留字节。它在某些位置设置为128,实际上正好是零的位置(请参阅更新的转储)。我做了几件事,最终得到了一个透明的位图:
-只需将所有保留字节归零。
-还有很多都是在
-使用assigment的作品,这幅画并不奇怪,Sertac的推理似乎是合理的
无论如何,有效的代码是
dump ('henon.bmp');
Image3.Picture.LoadFromFile ('lorenz.bmp');
apply_kernel (Image3.Picture.Bitmap, bitmap, kernel);
Image4.Picture.Bitmap.SetSize (bitmap.Width, bitmap.Height);
// Image4.Picture.Bitmap.Canvas.Draw (0, 0, bitmap); // <== does not work
Image4.Picture.Bitmap := bitmap; // <== works
bitmap.SaveToFile ('alias.bmp');
dump ('alias.bmp');
alias.bmp:
Red
0: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1: 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2: 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
3: 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
4: 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
5: 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
6: 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255
7: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255
8: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255
9: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255
10: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 0 0 0 255 255 255 255 255
11: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 0 255 255 255
12: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 0 0 255 255 255
13: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255
14: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 0 0 255
15: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 255 0 0 255
16: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 255
17: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255
18: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 255
19: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255
20: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255
21: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255
22: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255
23: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255
24: 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255
25: 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255
26: 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255
27: 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
28: 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
29: 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
30: 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
31: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
Green
0: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1: 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2: 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
3: 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
4: 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
5: 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
6: 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255
7: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255
8: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255
9: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255
10: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 0 0 0 255 255 255 255 255
11: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 0 255 255 255
12: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 0 0 255 255 255
13: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255
14: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 0 0 255
15: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 255 0 0 255
16: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 255
17: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255
18: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 255
19: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255
20: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255
21: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255
22: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255
23: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255
24: 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255
25: 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255
26: 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255
27: 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
28: 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
29: 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
30: 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
31: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
Blue
0: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
3: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
4: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
5: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
6: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
7: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
8: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
9: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
10: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
11: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
12: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
13: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
14: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
15: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
16: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
17: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
18: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
19: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
20: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
21: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
22: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
23: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
24: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
25: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
26: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
27: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
28: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
29: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
30: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
31: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
reserved
0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1: 0 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2: 0 0 0 128 128 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3: 0 0 0 0 0 128 128 128 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4: 0 0 0 0 0 0 0 0 128 128 128 128 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5: 0 0 0 0 0 0 0 0 0 0 0 128 128 128 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6: 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 128 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0
7: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 128 128 128 0 0 0 0 0 0 0 0 0 0
8: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 128 128 128 0 0 0 0 0 0 0 0 0
9: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 128 128 128 128 0 0 0 0 0 0
10: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 128 128 128 0 0 0 0 0
11: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 0 0 128 128 128 0 0 0
12: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 128 128 0 0 0
13: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 0 0 0 128 128 0 0
14: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 0 128 128 0
15: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 0 128 0 128 128 0
16: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 0 0 128 0
17: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 0 0 0 0 128 128 0
18: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 0 0 128 128 0
19: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 0 0 0 0 128 128 0 0
20: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 0 0 128 128 0 0 0
21: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 0 0 0 0 128 128 0 0 0 0
22: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 0 0 0 128 128 0 0 0 0 0
23: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 0 0 0 128 128 0 0 0 0 0 0 0
24: 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 0 0 0 0 0 0 128 128 0 0 0 0 0 0 0 0 0
25: 0 0 0 0 0 0 0 0 0 0 128 128 128 0 0 0 0 0 0 128 128 128 0 0 0 0 0 0 0 0 0 0
26: 0 0 0 0 0 0 0 0 0 128 0 0 0 0 0 0 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0
27: 0 0 0 0 0 0 0 0 0 0 0 0 0 128 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28: 0 0 0 0 0 0 0 0 0 0 128 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
29: 0 0 0 0 0 0 0 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
30: 0 0 0 0 0 128 128 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31: 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Red
0: 194 154 148 106 98 98 123 156 205 238 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1: 207 177 172 133 114 95 102 121 159 191 216 235 248 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2: 212 184 179 144 127 110 115 127 150 173 197 214 226 231 237 249 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
3: 229 216 214 191 168 133 110 98 98 110 127 150 168 185 197 214 231 249 255 255 255 255 255 255 255 255 255 255 255 255 255 255
4: 255 248 249 231 214 197 173 150 127 110 98 98 92 92 110 150 185 214 226 237 249 255 255 255 255 255 255 255 255 255 255 255
5: 255 255 255 255 249 237 226 214 197 173 150 121 92 69 69 86 110 144 173 197 214 231 249 255 255 255 255 255 255 255 255 255
6: 255 255 255 255 255 255 255 249 237 226 214 185 150 110 86 81 75 69 81 110 150 185 220 243 255 255 255 255 255 255 255 255
7: 255 255 255 255 255 255 255 255 255 255 249 231 214 197 173 139 98 69 52 46 69 110 162 202 226 237 249 255 255 255 255 255
8: 255 255 255 255 255 255 255 255 255 255 255 255 249 237 226 202 162 110 69 40 34 52 98 150 179 197 220 243 255 255 255 255
9: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 220 185 144 92 52 40 52 81 110 139 168 202 231 249 255 255
10: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 231 202 162 110 75 57 75 86 110 127 156 191 231 248 255
11: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 220 179 139 92 81 92 121 121 121 133 185 229 255
12: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 220 173 115 86 92 127 139 133 127 156 197 238
13: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 214 150 98 98 139 162 144 121 127 159 204
14: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 231 173 98 75 110 168 168 144 121 127 161
15: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 197 115 81 104 162 173 150 110 114 153
16: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 231 173 98 75 110 179 208 185 133 114 153
17: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 214 150 98 98 150 208 214 168 121 114 153
18: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 220 173 115 92 115 179 220 202 156 127 127 161
19: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 231 185 144 115 121 162 208 202 168 139 133 159 204
20: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 237 214 185 144 121 121 162 197 197 168 144 144 168 204 238
21: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 231 214 202 191 168 144 144 162 185 197 179 150 144 168 208 242 255
22: 255 255 255 255 255 255 255 255 255 255 255 255 249 231 220 202 179 150 150 156 168 168 185 197 185 162 156 173 208 243 255 255
23: 255 255 255 255 255 255 255 255 255 249 237 226 220 208 191 162 150 150 173 179 179 173 179 173 173 185 197 220 243 255 255 255
24: 255 255 255 255 255 255 255 255 243 226 214 202 185 173 173 179 179 173 179 179 173 156 162 185 208 220 231 249 255 255 255 255
25: 255 255 255 255 255 255 255 249 231 202 173 162 162 173 179 179 173 179 179 162 150 156 185 208 231 249 255 255 255 255 255 255
26: 255 255 255 255 255 255 255 243 226 197 179 173 173 168 168 168 150 150 162 185 197 202 220 243 255 255 255 255 255 255 255 255
27: 255 255 255 255 255 255 249 231 214 197 185 168 156 144 139 139 150 179 202 220 226 237 249 255 255 255 255 255 255 255 255 255
28: 255 255 255 255 249 231 214 202 191 173 162 150 144 150 173 191 202 214 231 249 255 255 255 255 255 255 255 255 255 255 255 255
29: 255 255 255 249 237 208 179 150 150 162 185 197 202 202 214 226 237 249 255 255 255 255 255 255 255 255 255 255 255 255 255 255
30: 255 255 255 242 216 172 146 140 172 197 216 223 229 235 248 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
31: 255 255 255 246 230 205 189 180 197 222 246 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
Green
0: 194 154 148 106 98 98 123 156 205 238 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1: 207 177 172 133 114 95 102 121 159 191 216 235 248 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2: 212 184 179 144 127 110 115 127 150 173 197 214 226 231 237 249 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
3: 229 216 214 191 168 133 110 98 98 110 127 150 168 185 197 214 231 249 255 255 255 255 255 255 255 255 255 255 255 255 255 255
4: 255 248 249 231 214 197 173 150 127 110 98 98 92 92 110 150 185 214 226 237 249 255 255 255 255 255 255 255 255 255 255 255
5: 255 255 255 255 249 237 226 214 197 173 150 121 92 69 69 86 110 144 173 197 214 231 249 255 255 255 255 255 255 255 255 255
6: 255 255 255 255 255 255 255 249 237 226 214 185 150 110 86 81 75 69 81 110 150 185 220 243 255 255 255 255 255 255 255 255
7: 255 255 255 255 255 255 255 255 255 255 249 231 214 197 173 139 98 69 52 46 69 110 162 202 226 237 249 255 255 255 255 255
8: 255 255 255 255 255 255 255 255 255 255 255 255 249 237 226 202 162 110 69 40 34 52 98 150 179 197 220 243 255 255 255 255
9: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 220 185 144 92 52 40 52 81 110 139 168 202 231 249 255 255
10: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 231 202 162 110 75 57 75 86 110 127 156 191 231 248 255
11: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 220 179 139 92 81 92 121 121 121 133 185 229 255
12: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 220 173 115 86 92 127 139 133 127 156 197 238
13: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 214 150 98 98 139 162 144 121 127 159 204
14: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 231 173 98 75 110 168 168 144 121 127 161
15: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 197 115 81 104 162 173 150 110 114 153
16: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 231 173 98 75 110 179 208 185 133 114 153
17: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 214 150 98 98 150 208 214 168 121 114 153
18: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 220 173 115 92 115 179 220 202 156 127 127 161
19: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 231 185 144 115 121 162 208 202 168 139 133 159 204
20: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 237 214 185 144 121 121 162 197 197 168 144 144 168 204 238
21: 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 231 214 202 191 168 144 144 162 185 197 179 150 144 168 208 242 255
22: 255 255 255 255 255 255 255 255 255 255 255 255 249 231 220 202 179 150 150 156 168 168 185 197 185 162 156 173 208 243 255 255
23: 255 255 255 255 255 255 255 255 255 249 237 226 220 208 191 162 150 150 173 179 179 173 179 173 173 185 197 220 243 255 255 255
24: 255 255 255 255 255 255 255 255 243 226 214 202 185 173 173 179 179 173 179 179 173 156 162 185 208 220 231 249 255 255 255 255
25: 255 255 255 255 255 255 255 249 231 202 173 162 162 173 179 179 173 179 179 162 150 156 185 208 231 249 255 255 255 255 255 255
26: 255 255 255 255 255 255 255 243 226 197 179 173 173 168 168 168 150 150 162 185 197 202 220 243 255 255 255 255 255 255 255 255
27: 255 255 255 255 255 255 249 231 214 197 185 168 156 144 139 139 150 179 202 220 226 237 249 255 255 255 255 255 255 255 255 255
28: 255 255 255 255 249 231 214 202 191 173 162 150 144 150 173 191 202 214 231 249 255 255 255 255 255 255 255 255 255 255 255 255
29: 255 255 255 249 237 208 179 150 150 162 185 197 202 202 214 226 237 249 255 255 255 255 255 255 255 255 255 255 255 255 255 255
30: 255 255 255 242 216 172 146 140 172 197 216 223 229 235 248 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
31: 255 255 255 246 230 205 189 180 197 222 246 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
Blue (omitted as it is all 255)
你必须绘制位图,分配将不起作用。请参见有关透明色的说明,例如:
确定位图的哪种颜色在显示时是透明的
绘制位图
但很可能最终还是会出现白色背景。事情是这样的:如果你使用像
Image4.Picture.Bitmap.Canvas.Draw(..
这样的东西,图像将被绘制,这样在源图像中具有透明颜色的像素将不会被绘制。也就是说,目标图像的背景与这些像素不会被改变。而那些不变的像素是白色的(新位图的默认背景色)。因此您必须使用如下内容:
Image4.Picture.Bitmap.Canvas.Brush.Color := clGreen; // specify your background color
Image4.Picture.Bitmap.SetSize(32, 32); // now you have a green bitmap
Image4.Picture.Bitmap.Canvas.Draw(0, 0, bitmap); // draw non-transparent parts over green bg.
借用我这里的Delphi帮助文档
procedure TForm1.Button1Click(Sender: TObject);
var
mybitmap: TBitmap;
begin
mybitmap := TBitmap.Create;
try
with mybitmap do begin
LoadFromFile('C:\Program Files\Borland\Delphi 3\Images\Splash\256color\factory.bmp');
Transparent := True;
TransParentColor := mybitmap.canvas.pixels[25,25];
Form1.Canvas.Draw(0,0,myBitMap);
TransparentMode := tmAuto; // Transparent color now is clDefault = TColor($20000000);
Form1.canvas.Draw(250,0,myBitMap);
end;
finally
myBitmap.free;
end;
end;
我想在Delphi中反别名一些位图
如果要使用alpha透明绘制,则需要检查位图的第四个字节(rgbReserved)。在现代Delphi版本中,第四个字节的使用通过TBitmap.AlphaFormat进行控制。您需要将其设置为afDefined,仅此而已。在旧的Delphi版本中,您需要通过函数手动绘制位图。
另外,对于我创建的较旧的Delphi版本,这个单元可能会对您有所帮助:(它对任何使用都是免费的).谢谢您和Glen1234的建议。它仍然不起作用,所以我想它一定在位图中。我会做一些实验,并在了解更多信息后尽快回来。谢谢。@Arnold-不客气。如果可能发生误解,“.Transparentxx”属性与alpha通道无关。据我所知,lef是t/bottom是一种解决方法,它可以解决位图在定义时没有透明度的问题。您使用的是哪个版本的Delphi?@Arnold-有疑问的问题:在您调用“SetSize”后,您有一个32x32的白色位图。如果您最终使用的是白色背景的图像,则绘图工作正常。如果没有,不知道,可能是由于alpha频道,我会尝试将像素格式设置为“PF24位”。见我上面的更新,这个建议对我很有帮助。顺便问一下,这段代码给人留下了深刻印象。你到底用它做什么?我已经创建了它来在Vista中的Aero glass上测试绘图。它可以绘制png和设置了四个字节的位图。它还可以将两个图像合并为一个(对缓冲绘图有用)。