2010-12-06 60 views
1

Im en utilisant Magick ++ Library avec QtImageMagick ouvert et écrire image avec Magick qt ans ++

Im en utilisant le code suivant pour lire et écrire une image:

Image image; 
    image.read(qPrintable(f.absoluteFilePath())); 
    image.addNoise(GaussianNoise); 
    image.magick("png"); 
    image.write("image_name"); 

Où f.absoluteFilePath est le chemin absolu mon image Exemple: /Users/user/Desktop/test/P1030673.jpg

Après l'achèvement du code, je ne trouve pas l'image nommée 'nom_image'. J'ai regardé dans le dossier de la première image '/ Users/macmini/Desktop/test /' et ce n'est pas là J'ai essayé de chercher l'image, mais il semble ne pas être dans mon ordinateur.

Où est-ce que je me trompe? Comment sauvegarder l'image sur mon ordinateur? est-il possible de spécifier le chemin que je veux que l'image soit enregistrée?

Merci

+1

La lecture fonctionne-t-elle? En outre, il existe probablement un moyen de vérifier les erreurs pendant write(). –

+0

oui l'image peut être lu – Sharethefun

Répondre

1

Pour tous ceux qui pourraient avoir tha même problème: Imagemagick enregistrera les images à l'intérieur du paquet .app

Vous ne pourrez pas trouver les fichiers d'image à moins que vous spécifiez un chemin à l'intérieur de la fonction de lecture()

J'ai remarqué ce qui suit en vérifiant la taille de mon fichier .app Il a été augmenté chaque fois que j'essayais de sauvegarder des images.

+0

Ce problème semble être spécifique à OSX. Peut-être que vous devriez déposer un rapport de bogue sur imagemagick. – PiedPiper

2

Vous devriez trouver le fichier enregistré dans le répertoire de travail courant. Si vous voulez l'enregistrer ailleurs, donnez un chemin absolu.

+0

qu'est-ce qu'on entend par répertoire de travail actuel? - J'ai le dossier de la bibliothèque Magick ++ - Le répertoire où se trouve mon projet Qt - Le répertoire où se trouve le projet qt lorsqu'il fonctionne - et le répertoire où résident les images Comment donner un chemin absolu? Merci pour la réponse – Sharethefun

+0

Si vous démarrez le programme à partir d'un menu ou d'un lien d'application à partir du bureau, le répertoire de travail cueernt sera votre répertoire personnel à moins qu'un autre répertoire de travail ne soit défini dans le lien. Si vous démarrez le programme à partir d'un shell, le répertoire de travail actuel est le répertoire dans lequel vous êtes "in" lorsque vous démarrez le programme. – PiedPiper

+0

Un chemin absolu est un chemin commençant par "/" – PiedPiper