AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PNG Unit mit guter Kompression

Ein Thema von Zacherl · begonnen am 4. Dez 2006 · letzter Beitrag vom 5. Dez 2006
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

PNG Unit mit guter Kompression

  Alt 4. Dez 2006, 21:42
Hi,

ich suche eine PNG Unit mit guter Kompression, nicht wie PNGImage ... da war mein Screenshot auf höchster Kompressionsstufe noch über 2MB groß ...

Oder gibt es evtl die Möglichkeit das Bild in kleinere Raster zu teilen ... also dass das so bikubisch aussieht. Hab das mal irgendwo gesehen.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#2

Re: PNG Unit mit guter Kompression

  Alt 4. Dez 2006, 21:51
Die Kompression bei PNG ist im Standard festgelegt, da dürfte es eigentlich keine grossen Unterschiede geben. Kannste das Image mal anhängen oder sowas? Würd mir das Image gerne mal anschauen warums so schlecht komprimierbar ist.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: PNG Unit mit guter Kompression

  Alt 4. Dez 2006, 22:01
Es gibt Programme, die sind besser und welche, die sind schlechter. PNG ist verlustfrei, daher gibt es nunmal ein gewissen Maximum an Kompression, das erreichen jedoch nicht alle Programme, da man halt die richtige Möglichkeit der Kompression finden muss.

PNG eignet sich übrigens eher weniger für Screenshots, weil Screenshots oft auch aus Photos oder ähnlichem bestehen und PNGs eher auf Grafiken ausgerichtet ist.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: PNG Unit mit guter Kompression

  Alt 4. Dez 2006, 22:47
Ich möchte aber ein Remote Screenshot Programm schreiben und die Änderungen mittels eines Differenzbildes ermitteln. Und dafür ist JPEG nicht geeignet ...

Das besagte PNG Bild habe ich beretis gelöscht, es war aber mein Desktophintergrund zu sehen, der auch viele Farbverläufe hat.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: PNG Unit mit guter Kompression

  Alt 5. Dez 2006, 05:51
Zitat:
ch möchte aber ein Remote Screenshot Programm schreiben und die Änderungen mittels eines Differenzbildes ermitteln. Und dafür ist JPEG nicht geeignet ...
Und warum nicht? Bei MPEG wird dies doch geanu angewendet.
Markus Kinzler
  Mit Zitat antworten Zitat
th_bone

Registriert seit: 16. Jun 2004
172 Beiträge
 
Delphi 2005 Professional
 
#6

Re: PNG Unit mit guter Kompression

  Alt 5. Dez 2006, 07:32
Hi,

PNG ist glaube ich nicht geeignet um Bilder zu komprimieren, hatte das auch mal getestet und festgestellt, dass JPG bei Bildern vorne lag und PNG ungeschlagen ist, wenn es z.B. um den Desktop ohne Hintergrundbilder geht...

Vielleicht kannst Du ja beim Screenshot den Desktophintergrund ausblenden - ist ja für den Remoteadmin sowieso uninteressant oder die Farben des Screenshot reduzieren auf 256 Farben, um auf gute kompression zu kommen...

cu

Ralf
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#7

Re: PNG Unit mit guter Kompression

  Alt 5. Dez 2006, 09:23
HI,
an sich solltest du mal schauen, ob du die Auflösung des Desktops nicht schon etwas reduzieren kannst (skalieren des Screenshots) und die Farbtiefe (wie schon gesagt wurde) reduzierst. Dann kannst du ja mal das Differenzbild speichern und alle mögllchen Pack-Algorithmen darauf laufen lassen. Hier werden bestimmt die Unterschiede zwischen einzelnen Algorithmen ins Gewicht fallen (kannst dir natürlich auch die Arbeitsweisen und -gebiete der Packalgorithmen anschauen und hier abschätzen was optimaler ist). PNG benutzt afaik den Deflate Algorithmus? Versuch es mal mit LZW (Patent ist mittlerweile ja aufgehoben), der war der eigentliche Grund für die Schaffung von PNG. Der ist auch verlustfrei (und eventuell besser). Am leichtesten kannst du das mit einem Packer testen, der mehrere Varianten unterstütz (gibt da ja einige freie).

Das wichtigste sollte aber sein, dass du dir gut überlegst welche Informationen du tatsächlich übertragen musst. Kommen die Screenshots schnell genug an, reicht es vielleicht aus um nicht alle Zeilen zu übertragen. Dann kannst du z.B. nur jede zweite/x-te Zeile übertragen und auf dem Zielrechner immer nur die gerade empfangenen Zeilen zusammen setzen. Dann kannst eventuell auch nur die rohen Daten übertragen, wenn du vorher die Metainfos überträgst (der Rest ist dann immer gleich). Eventuell kannst du auch selbst komprimieren, in dem du einfach nur jede zweite Zeile überträgst und die fehlenden Pixel aus der Zeile drüber und drunter approximierst (muss man halt gucken wie gut/schlecht das klappt).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#8

Re: PNG Unit mit guter Kompression

  Alt 5. Dez 2006, 09:49
Ich würde mir an Deiner Stelle mal die unterschiedlichen Methoden in VNC anschauen. Da gibts ja nen ganzes Rudel unterschiedliche Algorithmen zur Auswahl.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Real_Thunder

Registriert seit: 25. Apr 2006
197 Beiträge
 
#9

Re: PNG Unit mit guter Kompression

  Alt 5. Dez 2006, 10:27
wenn es um die übertragungsfgröße geht.. dann mache es mit gif...

Also erstes bild völlig übertragen als jpeg oder wie auch ummer..
von den folgebildern die differenz bestimmen, und anschlißened in gif umwandeln....
und schon bist mit ein paar kb pro bid dabei...

so habe ich es mit webcamstream gemacht.

MfG Real Thunder
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#10

Re: PNG Unit mit guter Kompression

  Alt 5. Dez 2006, 10:55
Schau dir mal die Page von OptiPNG an:
http://optipng.sourceforge.net/

Dort findest du auch einen "Guide to PNG otimizations":
http://www.cs.toronto.edu/~cosmin/pngtech/optipng.html

Vielleicht kannst du dir dort ein paar Anregungen holen.
(Obwohl das teilweise mit einem hohen Rechenaufwand verbunden ist.)

Ich wäre auch erstmal dafür, die Farbtiefe zu verringern und das Hintergrundbild auszublenden.
Manuel
  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 07:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz