AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte AnimatePNG
Thema durchsuchen
Ansicht
Themen-Optionen

AnimatePNG

Ein Thema von EWeiss · begonnen am 20. Mär 2017 · letzter Beitrag vom 8. Jun 2018
Antwort Antwort
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#1

AW: AnimatePNG

  Alt 31. Mär 2017, 16:47
Zu meiner Verwunderung war die APNG zudem deutlich größer als die als Vorlage verwandte GIF, nämlich etwa doppelt so groß. Eigentlich sollte es doch andersherum sein.
Bei PNG hängt auch viel davon ab, wie man es speichert. Standardmäßig verwendet PNG meist 32 Bit oder 24 Bit pro Pixel. GIFs dagegen verwenden eine Palette mit 256 Farben. Allerdings kann man – was viele nicht wissen – auch bei PNGs Paletten verwenden, sogar mit weniger als 256 Farben und sogar mit Alphakanal. Sowas habe ich auch schon mal gemacht, als ich ein PNG sehr stark komprimieren musste. Leider unterstützen die meisten Programme diese Modi aber nur zum Lesen. Zum Erstellen braucht man spezielle Tools wie pngquant (https://pngquant.org/).

Und selbst das ist noch nicht alles. Dazu hängt die Dateigröße auch noch davon ab, welche Heuristiken der Encoder beim Abspeichern verwendet hat. Da gibt es Tools wie OptiPNG (http://optipng.sourceforge.net/), die mehrere Kombinationen bruteforcen und so aus existierenden PNGs noch mal 10% - 20% rausholen.

Wie gesagt, die meisten Programme können sowas nicht. Wenn dann noch Animation dazu kommt, dann wird es wahrscheinlich noch schwieriger, ein Tool zu finden, das alles kann.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: AnimatePNG

  Alt 31. Mär 2017, 16:59
Zitat:
Standardmäßig verwendet PNG meist 32 Bit pro Pixel
Und das Format verwende ich um auch den Alpha Kanal zu gewähren.
Ich möchte ja nicht nur die Bilder anzeigen sondern diese Ein\Ausblenden können ala.. .AlphaBlend und anderer Effekte.

Eine komprimierte 256Farben PNG würde dabei nur hinderlich sein.
Leider habe ich das mit dem AlphaBlend noch nicht hinbekommen es funktioniert irgendwie nicht warum da muss ich mich nochmal schlau machen.
Aber wie gesagt ich werkle hier mit 120 Frames in Realzeit bei 0% CPU herum besser geht's nicht.
War schon schwer genug GidiPlus ist nicht die schnellste API da muss man tricksen.

Zudem der Unterschied von 8it GIF / 32Bit PNG sollte einem die frage schon beantwortet haben warum APNG/PNG größer ist.

gruss

Geändert von EWeiss (31. Mär 2017 um 17:04 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz