Laden...

Bilder möglichst klein komprimieren - Smartphones/App

Erstellt von Max1809 vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.146 Views
M
Max1809 Themenstarter:in
67 Beiträge seit 2011
vor 10 Jahren
Bilder möglichst klein komprimieren - Smartphones/App

Hallo zusammen,

ich stehe aktuell vor einem Problem und bräuchte dazu Hilfe. 😃

Ich entwickle gerade eine App, die der jeweilige Benutzer für sich selbst konfigurieren kann. Dies geschieht über eine eigenständige Anwendung die auf C#, WPF basiert.

Nun kann der Anwender bei bestimmten Sachen Bilder hinterlegen. Diese können jedoch relativ groß werden und mein Problem ist, dass die App diese vom Server herunterladen muss um damit weiterarbeiten zu können. Das bedeutet, wenn da mal größere Bilder hochgeladen werden, die App relativ lange braucht um so ein Bild herunterzuladen.

Gibt es eine Möglichkeit, ein Bild (ob JPEG oder PNG) so zu komprimieren, dass es perfekt für mobile Endgeräte geeignet ist? Sprich, eine hohe Auflösung brauch ich da ja nicht.

Achja: Die Bilder codiere ich in einen Base64 String und verschicke diesen dann in einer XML-Datei.

Kann man evtl. den Base64 String nochmal codieren, sodass dies nochmal kleiner wird?

5.658 Beiträge seit 2006
vor 10 Jahren

Hi Max1809,

zum Thema Bildkompression kannst du dich ja erstmal hier informieren: Bildkompression. Dann erkennst du auch, warum es nichts bringen würde, die Base64-Daten zu komprimieren.

In deinem Fall sollte es reichen, die Auflösung der Bilder anzupassen, da du die maximale Auflösung auf dem Handy-Display kennst. Das verkleinerte Bild kannst du dann als JPG beliebig stark komprimieren und kannst dir so auch den Transfer als Base64 sparen.

Christian

Weeks of programming can save you hours of planning

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo Max1809,

wichtig ist, dass das Bild von beim bzw. vor dem Upload komprimiert wird. Dazu reicht es üblicherweise, wenn man in einem Bildbearbeitungsprogramm die Auflösung und die Qualität/Kompressionsrate entsprechend wählt. Wenn das Bild erstmal auf dem Server ist, kann die App nichts mehr machen, als es in der vorhandenen Größe herunter zu laden. Ich vermute mal, der Server ist einfach ein HTTP oder FTP Server. Oder hast du einen eigenen Server geschrieben? Dann könnte der das Bild natürlich selbst umwandeln.

herbivore

742 Beiträge seit 2005
vor 10 Jahren

Du kannst auch ImageResizer http://imageresizing.net/ verwenden. Das ist im Prinzip ein Http-Handler für IIS, der Bilder vor dem Ausliefern in die angefragt Größe skaliert und bei Bedarf cached (das ist dann kostenpflichtig).

Anstatt der direkten URL hängst du in deiner App einfach noch die passende Größe per Query-String and die URL http://imageresizing.net/docs/basics