我有一个位图,我想在 TPaintBox 上绘制。问题是我之前必须将其旋转到特定角度。我决定使用 TBitmap32。 我这样做:我首先创建一个 TBitmap,然后将其传输到 TBitmap32,进行转换并再次将 TBitmap32 移动到 TBitmap。我正在 TPaintBox 上绘制最后一个 TBitmap。问题是我无法获得透明度。
位图有红色背景,我想将其设置为透明。你会帮忙吗?我做错了什么?
carImage32 := TBitmap32.Create;
carImage32.Width := carImageTMP.Width;
carImage32.Height := carImageTMP.Height;
carImage32.Canvas.Draw(0, 0, carImageTMP); //assign TBitmap
carImage := TBitmap.Create;
carImage.Width := carImageTMP.Width;
carImage.Height := carImageTMP.Height;
RotateBitmap(carImage32,angle,false,clNone,True);
carImage.Transparent:=True;
carImage.TransparentColor:=clRed;
carImage.Assign(carImage32);
paintBox.Canvas.Draw(0,0,carImage);
最佳答案
我解决了我的问题。 我也应该将这部分代码用于 TBitmap32:
auto.carImage32.DrawMode:=dmTransparent;
auto.carImage32.OuterColor:=clRed32;
并且工作了:)
关于pascal - 无法获得 TBitmap 的透明颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67039120/