When I try to call SaveToFile method on TPNGImage object I get Acces Violation Error.
PNG Construction:
pngTest:=TPngImage.CreateBlank(COLOR_GRAYSCALE, 16, 2048, 2048);
Method Call: pngTest.SaveToFile('testtttt.png');
PNG object is created correctly because I can assign it to TImage and it works.
This is a defect in the Delphi PNG library code. Please report it to Embarcadero.
The defect seems to be triggered by the use of 16 bit colour depth. If you switch the code to use 8 bit colour then the code runs successfully.
There's no simple workaround, and so you'll need to find a different PNG library if you wish to continue with 16 bit colour. I would expect that Microsoft's Windows Imaging Component library will function correctly. Or you might consider Graphics32 with the GR32PNG extension.