Hallo,
ich habe ein 2MB großes JPEG File auf dem MDA.
Das Lade ich dank OPENnetCF Smart Device Framework auch
ohne OutOfMemoryException ein. Klappt super!
Jetzt habe ich dann eine Bitmap-Instanz.
Wenn ich jetzt aber bmp.Save(Dateiname/Stream, ImageFormat.JPEG) mache,
erhalte ich NotSupportedException.
Ergo brauche ich irgendwo eine Möglichkeit, dass ich selbst das BMP in JPEG konvertiere. Ich kann auch leider nicht einfach die Paletten austauschen etc.
Hat jemand dazu eine Idee?
Wie gesagt mein Ziel: Das JPEG resizen von 2400x1600px auf 800x600 🙂
Vielen vielen dank für eure Mühe!
Mit freundlichem Gruß
info@smart-coding.com
www.smart-coding.com
Hallo,
dir wird wohl nichts anderes übrigen bleiben als auf eine Library eines Drittherstellers zurückzugreifen. Diese bietet AFAIK allerdings auch nur einen Wrapper um die native Windows Mobile API an. Könntest ja probieren selber etwas in die Richtung zu entwickeln.
Gruss
tscherno
Hallo!
Das OpenNetCF Smart Device Framework habe ich tatsächlich gestern schon verwendet.
Und inzwischen kenne ich auch mein Problem 😉
Durch den Aufruf der WINCE API konnte ich alle installierten Encoder ermitteln
(GetInstalledEncoders). Leider ist da nur der MIME Typ für GIF Encoding installiert.
Ich brauche also:
A) Einen Encoder für JPEG (die Camera-Funktion speichert übrigens als JPEG ab)
oder
B) Eine Anleitung, wie man BMP zu JPEG konvertiert 🙂 (und das byte für byte)
Wenn mir wer irgendwie weiterhelfen kann wäre das super!
Vielen lieben Dank
Fabian
Mit freundlichem Gruß
info@smart-coding.com
www.smart-coding.com
Hi Fabian,
bmp zu jpeg geht recht einfach, wenn du mit Image.FromFile das bmp lädst und danach
mit Image.Save als jpeg wieder speicherst (einfach Endung setzen oder ImageFormat).
Dies geht im normalen Framework super. Sollte dies vom "OPENnetCF Smart Device Framework" nicht unterstützt sein, musst du wohl einen komplett anderen Weg gehen.
Resize eines Bilder ist ähnlich einfach.
Grüße,
psy
Hallo,
wie ich leider schon geschrieben habe, ist das Problem schwer 🙂
Ich besitze nämlich keinen Encoder für JPEG auf dem PDA.
Da nützt mir ein Wrapper auch nichts.
Ich muss also Pixel für Pixel transformieren, oder einen gratis Encoder (wie libjpeg für linux) finden.
Grüße
fabi
Mit freundlichem Gruß
info@smart-coding.com
www.smart-coding.com
Okay ich blätter mal drin rum,
vielen Dank 🙂
Mit freundlichem Gruß
info@smart-coding.com
www.smart-coding.com
Hallo,
Ich muss also Pixel für Pixel transformieren, oder einen gratis Encoder (wie libjpeg für linux) finden.
Eine Pixeltransformation sollte möglich sein, allerdings verlierst du dann die Kompressionsfeatures und könntest gleich BMP verwenden. JPEG verwendet das Dateiformat JFIF. Vieleicht hilft es dir irgendwie weiter...
Gruss
tscherno