2017-07-09 3 views
-1

J'ai un problème avec CImg. Je veux convertir le fichier .bmp en .jpg un.CImg save_jpeg() ne fonctionne pas

#include "CImg.h" 
using namespace cimg_library; 
(...) 
CImg<unsigned char> image("image.bmp"); 
image.save_jpeg("image.jpg", 60); 

Quand je veux exécuter ce programme, il retourne parfois une erreur: CImag error

Parfois, il ne semble pas, mais aussi ne pas créer de fichier .jpg.

Je tiens à ajouter qu'une autre fonction CImg fonctionne correctement, comme la conversion d'une photo en échelle de gris.

Pourriez-vous s'il vous plaît me dire quel est le problème avec ce code? Peut-être que c'est un autre moyen possible de convertir et enregistrer une photo en fichier .jpg?

EDIT: Quand j'ajoute

#define cimg_use_jpeg 

avant

#include <CImg.h> 

J'ai eu beaucoup d'erreurs en ce qui concerne cimg.h error

+1

Pourriez-vous au moins un poster [mcve]? –

+0

Est-ce que ma réponse a résolu votre problème? Si c'est le cas, veuillez envisager de l'accepter comme réponse - en cliquant sur la coche/coche verte en regard du nombre de votes. Si non, veuillez dire ce qui n'a pas fonctionné pour que moi ou quelqu'un d'autre puisse vous aider davantage. Merci. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

Répondre

1

Essayez d'ajouter cette ligne avant votre #include "CImg.h"

#define cimg_use_jpeg 1 

Il dit CImg d'utiliser son propre encodeur JPEG interne/décodeur plutôt que ImageMagick que vous ne pouvez pas avoir installé.

Par souci d'exhaustivité, il y a aussi:

#define cimg_use_tiff 1 
#define cimg_use_png 1 
+0

Je pense que cela devrait aider. Je ne peux pas le vérifier car maintenant j'essaie d'installer libjpeg. Sans cela, ça ne marche pas. Connaissez-vous un moyen rapide et facile d'installer libjpeg? J'essaye d'installer avec l'instruction de https://github.com/LuaDist/libjpeg mais cette instruction est trop compliquée. J'essaie de l'installer pour Windows, VS2015 – newblack