当我尝试在TPNGImage对象上调用SaveToFile方法时,出现Acces Violation Error。

PNG构造:
pngTest:=TPngImage.CreateBlank(COLOR_GRAYSCALE, 16, 2048, 2048);

方法调用:pngTest.SaveToFile('testtttt.png');

PNG对象正确创建,因为我可以将其分配给TImage并且它可以工作。

最佳答案

这是Delphi PNG库代码中的缺陷。请向Embarcadero报告。

缺陷似乎是由使用16位色深触发的。如果将代码切换为使用8位颜色,则代码将成功运行。

没有简单的解决方法,因此,如果要继续使用16位颜色,则需要找到其他PNG库。我希望Microsoft的Windows Imaging Component库能够正常运行。或者,您可以考虑使用带有GR32PNG扩展名的Graphics32。

07-25 23:38
查看更多