我的主窗体上有几个TJvImage组件。一个在设计时从部分透明的PNG文件加载。另一个比第一个还小。它在运行时加载另一个部分透明的PNG文件。德尔福2007年 - 从PNG文件加载TJvImage失去透明度
JvImage1.Picture.LoadFromFile ('Logo.png') ;
JvImage1.Transparent设置为TRUE。问题很简单:较小的图像呈现忽略alpha通道 - 即它冲出背景图像。
当我在设计时加载两个图像时不会发生这种情况。它们在窗体上都显示为部分透明,并在运行程序时正确显示。
真正的困境是,写一个最小的测试程序来试图证明问题不是显示的问题,但在应用程序本身的相同代码不起作用。
是否有任何可能影响行为的底层主窗体?
我建议你找出问题所在。剥离失败的代码,直到它工作。看看dfm文件。为什么将Transparent设置为True?您的图片有一个Alpha通道。 –
我从来没有想过你需要设置'透明'为FALSE才能获得透明度。现在我明白了! (帮助状态:“将透明设置为true以允许TImage对象后面的对象通过图像的背景显示。将Transparent设置为false以使图像的背景不透明”)。不幸的是,将Transparent设置为false并不能解决问题。我尝试创建一个项目并将违规表单的全部内容粘贴到项目中,并且图像显示正常。我有一些工作在我面前。 – rossmcm