我想在Delphi中对一些位图进行反别名.文件从文件加载,分配给图像,处理(apply_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的计算位图.左/下的颜色保持不变(clWhite).为了理解发生了什么,我将位图转储到文件,每种颜色分开(参见下面的转储).我确实检查了图像的透明度,自动调整是中心和拉伸,位图是32×32,图像也是.我也试过设置TransparentColor:= clWhite,但无济于事.我必须犯一个非常愚蠢的错误,但找不到它.有人能帮帮我吗?
编辑
托宾斯提醒我,我已经忘记了保留的字节.在某些位置设置为128,实际上恰好是零的位置(请参阅更新的转储).我做了几件事,最终得到了一个透明的位图:
– 简单地将所有保留字节归零.
– 更多,直到都没有工作
– 使用分配作品,Draw不够奇怪,Sertac的推理似乎很合理
无论如何,有效的代码是
dump ('henon.bmp'); Image3.Picture.LoadFromFile ('lorenz.bmp'); apply_kernel (Image3.Picture.Bitmap,kernel); Image4.Picture.Bitmap.SetSize (bitmap.Width,bitmap.Height); // Image4.Picture.Bitmap.Canvas.Draw (0,bitmap); // <== does not work Image4.Picture.Bitmap := bitmap; // <== works bitmap.SaveToFile ('alias.bmp'); dump ('alias.bmp');
@Sertac,也许我对Draw做错了什么?
@Torbins,归零所有保留字节是相当粗鲁的,我将用alpha通道对你的建议进行一些实验
非常感谢你们!
henon.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
alias.bmp:
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)
解决方法
I want to anti-alias some bitmap in Delphi.
如果你想用alpha透明度绘制,那么你需要检查你的位图的字节(rgbReserved).在现代Delphi版本中,使用第四个字节通过TBitmap.AlphaFormat控制.你需要将它设置为afDefined,这就是全部.在较旧的Delphi版本中,您需要通过AlphaBlend函数手动绘制位图.
此外,对于较旧的Delphi版本,我创建了这个单元,也许它会以某种方式帮助你:http://mikolatorbins.narod.ru/AlphaImageUtils.pas(它可以免费使用).