web-dev-qa-db-fra.com

Conversion d'un tableau d'octets en PNG/JPG

Je travaille actuellement sur une application nécessitant la conversion hautes performances d'un tableau d'octets non rajoutés au format PNG ou JPEG. Le format de l'image n'a pas d'importance, tant qu'il est rapide.

J'ai essayé les bibliothèques .NET et les performances sont très mauvaises. Quelqu'un peut-il recommander une bonne bibliothèque de logiciels gratuits pour cela?

EDIT: l'octet [] est un bitmap en niveaux de gris de 8 bits

43
user472875

Vous devriez pouvoir faire quelque chose comme ça:

byte[] bitmap = GetYourImage();

using(Image image = Image.FromStream(new MemoryStream(bitmap)))
{
    image.Save("output.jpg", ImageFormat.Jpeg);  // Or Png
}

Regardez ici pour plus d'informations.

Espérons que cela aide.

68
Garrett Vlieger

Il y a deux problèmes avec cette question:

En supposant que vous ayez un bitmap en niveaux de gris, vous devez prendre en compte deux facteurs:

  1. Pour JPGS ... quelle perte de qualité est tolérable?
  2. Pour les pngs ... quel niveau de compression est tolérable? (Bien que pour la plupart des choses que j'ai vues, vous n'avez pas vraiment le choix, alors ce choix pourrait être négligeable.) Pour ceux qui pensent que cette question n'a pas de sens: oui, vous pouvez modifier le niveau de compression/nombre de passages essayés de compresser; Découvrez soit Ifranview, soit certains de ses plugins.

Répondez à ces questions et vous pourrez alors trouver votre réponse initiale.

1
JayC
0
ahoffer