I tried TPngImage years ago in my Delphi/Win32 days. It was great then, too. This was after I had written my own very inefficient and restricted PNG writer (blood, sweat and tears included). I could never properly understand the Adam7 interlacing business, so I never got quite as far as a reader.