Managed-PNG-Optimierung-Bibliothek zur Verfügung?
Ich bin auf der Suche nach Aufbau in PNG-Optimierung (PNG "sqeezer/squisher" der Arten) in meinen builds (TFS 2010 Build-Workflow). Ich will erstellen Sie eine neue build-Aktivität, und wie bei all meinen Aktivitäten, die ich lieber alle meine code verwaltet, mit wenig bis gar keine Abhängigkeiten.
Habe ich gesucht (Gegoogelt) und gefunden, dass viele verschiedene PNG-Bibliotheken für PNG optimiaztion. PNGOUT, PNGCRUSH, OptiPNG, etc. Keiner von Ihnen wirklich .NET. Sie alle scheinen, wie gute tools. Ich bevorzuge nicht zu nennen EXE-Dateien (separate Prozesse) aus meinem code-Aktivität, da Sie nie wirklich wissen, was passieren wird (weniger zuverlässig).
So, ich dachte, vielleicht PNGGauntlet wäre eine option. Schaut man aber schnell an die installierte Anwendung, seine nur eine C# - GUI, ruft die binäre pngout.exe. Das ist genau das, was ich nicht tun möchte.
So meine Frage ist : Ist es ein open-source und/oder kostenlos .NET Bibliothek (DLL) vorhanden ist, die PNG-Kompression?
- Haben Sie versucht, madskristensen.net/post/... ? Es ist nicht wirklich eine Bibliothek, aber ich finde es schön, integriert mit VS.
- Nicht eine Reine C# - Lösung, aber zu sehen, stackoverflow.com/q/2075084/2291 für einige externe Programme Issa Sprach.
- Es war ein Jahr alt OT (oder wie es früher hieß, "nicht konstruktiv") Frage mit niedrigen Ansichten. Anstatt zu schließen, die ich gerade gelöscht. Kann nicht garantieren, es wird hängen, um für lange (entfernt das system automatisch diese nach einiger Zeit nicht sicher, ob der algo tho), aber Sie sollten immer in der Lage sein zu Holen Sie sich hier, wenn Sie über einen link, so würde ich vorschlagen, dass Sie es Lesezeichen.
- Es war einfach nie als erledigt gekennzeichnet. Nun ist es markiert. Können Sie entfernen Sie die halten? Danke!!!
- tut mir Leid, wir schließen diese bleibenden Karten. Wir können (unheilbar) langsam, aber wie Sie sehen können aus der engen Grund (nicht custom!) wir aktiv entmutigen diese Typen hier. Bitte nehmen Sie sich die bemerkenswerten Mangel an spam hier (es gibt Unmengen, die Sie nicht sehen bevor man 10k) als Hinweis, warum das so ist Politik.
- diese Frage war nicht off-topic aber. Ich war nicht um eine Empfehlung für ein tool. Ich wurde gefragt, ob ein tool verfügbar war, ein problem zu lösen. Meine Frage editiert wurde, eine Weile zurück zu stellen, die sogar noch deutlicher. Es erzeugt aus großen Antworten. Keiner von Ihnen waren spam.
- "Fragen, ob wir empfehlen, ein tool, eine Bibliothek oder Lieblings-off-site-resource-off-topic für Stack-Überlauf, da Sie dazu neigen zu locken, rechthaberisch Antworten und spam. Stattdessen beschreiben Sie das problem, und was wurde bisher getan, um es zu lösen." Nicht sicher, wie viel klarer kann ich setzen, dass. Wenn du wirklich Probleme mit diesem, gehen Sie bitte zu Meta-Stack Overflow und stellen Sie eine Frage zu dem Thema.
- Scheint so, das nicht überall, aber ich muss zitieren, ein Teil der Frage "meine Frage ist Also diese : Ist es ein open-source und/oder kostenlos .NET Bibliothek (DLL) vorhanden ist, die PNG-Kompression?". Ich war nicht um eine Empfehlung oder ein Favorit. Ich habe auch beschrieben das problem, das ich hatte. Genau wie die zitierte Richtlinie, die Sie beschrieben hatte. Unabhängig, ich danke Ihnen für Ihre Zeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe gerade gefunden diese: nQuant. Von der Projekt-Seite:
Getestet hab ich es mit ein paar Probe PNGs und es ist wirklich eine gute 8-bit-Ausgabe, die kleiner als .NET-eigenen 8-bit-encoder und ohne sichtbare Rasterung, auch für die geglätteten Bilder. Ich vermisse eine Sache, aber: die Verarbeitung kann ein bisschen langsam, aber die Bibliothek leider nicht über eine parallelisierte Variante der code-Optimierung. Ich arbeite an einer Lösung für dieses.
UPDATE (Jan 21, 2013), habe ich umgestaltet werden, der code, es läuft 10 mal schneller jetzt, auch ohne die parallelen threads. Die Gabel ist hier: http://nquant.codeplex.com/SourceControl/network/forks/breki74/nQuantFaster
UPDATE (Feb 24, 2013), meine Gabel war, verschmolz mit dem Stamm. Genießen.
Nur für den Fall Sie sich entscheiden, schreiben Sie Ihre eigenen C# - code: ich habe geschrieben ein open-source-pure-Java-PNG-coder/decoder, PNGJ, könnten Sie es nützlich finden; es sollte nicht schwer sein, Anschluss zu C#. Es ist nur ein coder, nicht ein Optimierer, aber es unterstützt alle schreiben Optionen/Strategien (darunter verschiedene Filter für jede Zeile), so dass Sie könnte leicht stecken Sie Ihre Heuristik, um es.Aktualisiert: ich habe kodiert eine C# PNG-coder/encoder PngCs, portiert von Java (PngJ), es ist open source und seit Dez-2012 es unterstützt alle PNG-Varianten (außer, dass es nicht schreiben interlaced PNG, nur liest Sie)
ICSharpCode.SharpZipLib.dll
. Für diejenigen, die zu spät kommt, den diese Partei, @leonbloy hat ein github-repo dieser befindet sich hier > github.com/leonbloy/pngcsNach ein ziemlich gutes Google-Suche-und entdecken ein oder zwei dieser Fragen auf StackOverflow vor kurzem, ich glaube nicht, dass es eine C# Bibliothek zur Verfügung.
Jedoch, OptiPNG ist open-source-C-code, so dass die Portierung auf C# ist eine Möglichkeit. Alternativ ziehen Sie den C-code in eine separate Bibliothek außerhalb einer exe und P/Invoke in es.
Anscheinend gibt es andere open-source-Bibliotheken, die nicht unbedingt speziell für die Optimierung:
http://www.libpng.org/pub/png/pngcode.html
Entschuldigung für die anti-Klimax, ich habe nach dieser auch, und ich bin zu dem Schluss gekommen die aktuelle Antwort ist nicht vorhanden. Ich bin gespannt warten korrigiert zu werden.
Laut diese Antwort gibt es mehrere .net-Bibliotheken, die verwendet werden können, um die Optimierung der png-Größe