Uhm, ich muss ehrlich gestehen, dass ich bei Bildern der Größe die du da zeigst, definitiv mit 200kb+ pro Bild rechnen würde. Mindestens. Wie viele davon willst du denn darstellen auf einer Seite? Heutzutage sind Seiten mit 1-5MB (oder noch mehr) doch keine Seltenheit mehr, und wer deutlich mehr auf "überlangen" Seiten zeigen will, lädt dynamisch beim Scrollen nach oder verzweigt mittels Thumbnails und Links.
Ich würde mir bei 320k bei dieser Bildgröße echt keine Sorgen mehr machen, nichtmals bei mobile apps. Das ist Zeit, die man besser in andere wichtigere Details investieren kann finde ich. (Insbesondere weil Bilder, die nicht unbedingt so Farbton-uniform sind wie das gezeigte, auch bei 256 Farben schnell unschön werden können.)
Das angehängte Bild war nur eine Besispiel mit einer relativ kleinen Datei. Es gibt hier eben PNG's, die klar im MB Bereich liegen.
Ich wusste das mit der Komprimierung selber bis vor ca. einem halben Jahr auch noch nicht und wurde von einem Kunden darauf hingewiesen. Damals habe ich dann die Nutzung von pngquant.exe in mein Programm eingebaut und konvertiere die PNG's nun damit, wenn der Kunde das so wünscht. Dieser Schritt hätte ich halt sehr gerne auch in Delphi implementiert, damit ich keine externe Tools aufrufen muss.
pngquant.exe ist übrigens Opensource und die Sourcen dazu sind auf Github zu finden:
https://github.com/kornelski/pngquant