Die ist in der
Unit pngimage, funktioniert aber nur mit TMemoryStream und dessen Erben (TBytesStream und TStringStream). Einen TFileStream kann man natürlich schnell in einen TMemoryStream kopieren, aber der hat auch LoadFromFile, von daher braucht man das nicht.
Delphi-Quellcode:
function CRC32(Stream: TMemoryStream): Cardinal;
var
Bytes: PNGImage.pByteArray;
begin
Bytes := Stream.Memory;
Result := not PNGImage.update_crc(not 0, Bytes, Stream.Size);
end;