Convert always returning exit code '1'

Magick++ is an object-oriented C++ interface to ImageMagick. Use this forum to discuss, make suggestions about, or report bugs concerning Magick++.
Post Reply
i73
Posts: 42
Joined: 2016-08-24T11:30:27-07:00
Authentication code: 1151

Convert always returning exit code '1'

Post by i73 » 2017-03-29T18:18:10-07:00

Hey, I am lost as to why my command is constantly returning '1'/"Failed" exit code even though it converts the texture.

Code: Select all

string.Format("convert \"{0}\" -depth 8 -resize {1}x{1} -sharpen 0x1.5 \"{2}.png\"", file, size, (file.Split('.')[0] + "_" + size)))


it's basically "convert 'image.png' -resize 32 -sharpen 0x1.5 ' image_32.png"

Looking at '-Debug all' I see no Exceptions or Errors in command line, is IM convert returning 1 a bug? Or am I overlooking something?

User avatar
fmw42
Posts: 22101
Joined: 2007-07-02T17:14:51-07:00
Location: Sunnyvale, California, USA

Re: Convert always returning exit code '1'

Post by fmw42 » 2017-03-29T19:21:29-07:00

"convert 'image.png' -resize 32 -sharpen 0x1.5 ' image_32.png"
You seem to have a missing single quote at the end. It should be

Code: Select all

"convert 'image.png' -resize 32 -sharpen 0x1.5 ' image_32.png'"
Check your variables also to see they are evaluating as you expect.

If I do:

Code: Select all

convert logo: -resize 32 -sharpen 0x1.5 result.png
echo $?
0

So a return code of 0 is success. Thus a return code of 1 is failure/error.

snibgo
Posts: 9402
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: Convert always returning exit code '1'

Post by snibgo » 2017-03-30T05:08:27-07:00

How do you know convert is returning 1? The code shown merely sets a string. The command isn't actually executed.

If it does return 1, you should printf the value of string. That might provide a clue.

Please say what version IM you are using.
snibgo's IM pages: im.snibgo.com

i73
Posts: 42
Joined: 2016-08-24T11:30:27-07:00
Authentication code: 1151

Re: Convert always returning exit code '1'

Post by i73 » 2017-03-30T10:07:20-07:00

fmw42 wrote:
2017-03-29T19:21:29-07:00
"convert 'image.png' -resize 32 -sharpen 0x1.5 ' image_32.png"
You seem to have a missing single quote at the end. It should be

Code: Select all

"convert 'image.png' -resize 32 -sharpen 0x1.5 ' image_32.png'"
Check your variables also to see they are evaluating as you expect.

If I do:

Code: Select all

convert logo: -resize 32 -sharpen 0x1.5 result.png
echo $?
0

So a return code of 0 is success. Thus a return code of 1 is failure/error.
Sorry my mistake, the
"convert 'image.png' -resize 32 -sharpen 0x1.5 ' image_32.png"
was just me writing out what I am trying to do, I'm not actually using that. The code I am using is in the <CODE> brace above it.

i73
Posts: 42
Joined: 2016-08-24T11:30:27-07:00
Authentication code: 1151

Re: Convert always returning exit code '1'

Post by i73 » 2017-03-30T10:10:22-07:00

snibgo wrote:
2017-03-30T05:08:27-07:00
How do you know convert is returning 1? The code shown merely sets a string. The command isn't actually executed.

If it does return 1, you should printf the value of string. That might provide a clue.

Please say what version IM you are using.
I know it's returning a 1 because I have a listener waiting for any exceptions, I don't understand how it converts the image but returns a 1.

I'm using the IM 6.8 library: ImageMagick-6.8.6-9-Q16-x86-dll

snibgo
Posts: 9402
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: Convert always returning exit code '1'

Post by snibgo » 2017-03-30T10:40:24-07:00

I've never known convert to return 1 when it shouldn't. So perhaps your listener code may have a bug.

I suppose you have printed the value of the string when it returns 1. Then you can run that exact command from the command line, and see what it returns.
snibgo's IM pages: im.snibgo.com

User avatar
fmw42
Posts: 22101
Joined: 2007-07-02T17:14:51-07:00
Location: Sunnyvale, California, USA

Re: Convert always returning exit code '1'

Post by fmw42 » 2017-03-30T10:53:37-07:00

Perhaps the return 1 is not coming from Imagemagick, but from somewhere else in your code.

If you run the same command with variables resolve to their actual value from the command line, does that return 1 or 0?

i73
Posts: 42
Joined: 2016-08-24T11:30:27-07:00
Authentication code: 1151

Re: Convert always returning exit code '1'

Post by i73 » 2017-03-30T12:52:19-07:00

snibgo wrote:
2017-03-30T10:40:24-07:00
I've never known convert to return 1 when it shouldn't. So perhaps your listener code may have a bug.

I suppose you have printed the value of the string when it returns 1. Then you can run that exact command from the command line, and see what it returns.
Okay so now we're getting somewhere, yes I now tossed in the exception and I am seeing errors...

This is my exception:
Failed to run with : 'convert "C:\Users\my user\a.png" -depth 8 -resize 128 -sharpen 0x1.5 "C:\Users\my user\a_128.png"'
When I input that into command:

Code: Select all

convert.exe: unable to open image `C:/Users/my user/Downloads/a.png': No such file or directory @ error/blob.c/OpenBlob/2643.
convert.exe: unable to open file `C:/Users/my user/Downloads/a.png' @ error/png.c/ReadPNGImage/3994.
convert.exe: no images defined `C:/Users/my user/Downloads/a_128.png' @ error/convert.c/ConvertImageCommand/3108.
I don't know how it can both convert and open images while being unable to open all the images...

I already did try switching up my escape characters with forward and backwards slashes, mixed my quotations with single and double, any advice would help me out.
fmw42 wrote:
2017-03-30T10:53:37-07:00
Perhaps the return 1 is not coming from Imagemagick, but from somewhere else in your code.
If you run the same command with variables resolve to their actual value from the command line, does that return 1 or 0?
Yes I tried this already, from what I am putting into my .net code but now I am trying to call the exact line that I am outputting above ^.

snibgo
Posts: 9402
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: Convert always returning exit code '1'

Post by snibgo » 2017-03-30T12:57:10-07:00

Those error messages didn't come from that command. The directory names are different.
snibgo's IM pages: im.snibgo.com

User avatar
fmw42
Posts: 22101
Joined: 2007-07-02T17:14:51-07:00
Location: Sunnyvale, California, USA

Re: Convert always returning exit code '1'

Post by fmw42 » 2017-03-30T13:00:15-07:00

Your error message says it is unable to open image:

C:/Users/my user/Downloads/a.png

but in Windows, you should be using \ and not /.

Where is it getting the /? Do IM error messages replace the \ with /? Sorry I am not a Windows user. So just checking to be sure you typed the correct syntax.

User avatar
fmw42
Posts: 22101
Joined: 2007-07-02T17:14:51-07:00
Location: Sunnyvale, California, USA

Re: Convert always returning exit code '1'

Post by fmw42 » 2017-03-30T13:02:30-07:00

Is convert.exe the IM convert or the Windows convert?

i73
Posts: 42
Joined: 2016-08-24T11:30:27-07:00
Authentication code: 1151

Re: Convert always returning exit code '1'

Post by i73 » 2017-03-30T13:08:17-07:00

snibgo wrote:
2017-03-30T12:57:10-07:00
Those error messages didn't come from that command. The directory names are different.
Yes sorry my mistake, I am typing these out since my outputs are on a Window, other than the directories it's the exact same code (tried with both forward slashes and backslashes too).
fmw42 wrote:
2017-03-30T13:00:15-07:00
Your error message says it is unable to open image:

C:/Users/my user/Downloads/a.png

but in Windows, you should be using \ and not /.

Where is it getting the /? Do IM error messages replace the \ with /? Sorry I am not a Windows user. So just checking to be sure you typed the correct syntax.
No worries, I also tried in my c# to use both \ and / exact same issue with both of them.

Code: Select all

string command = string.Format("convert \"{0}\" -depth 8 -resize {1}x{1} -sharpen 0x1.5 \"{2}.png\"", file.Replace('\\', '/'), size, (file.Split('.')[0] + "_" + size).Replace('\\', '/'));
Do you guys know why I would get a failed to find image BUT still be able to convert?

Just want to thank you both for helping me out!

i73
Posts: 42
Joined: 2016-08-24T11:30:27-07:00
Authentication code: 1151

Re: Convert always returning exit code '1'

Post by i73 » 2017-03-30T13:11:23-07:00

fmw42 wrote:
2017-03-30T13:02:30-07:00
Is convert.exe the IM convert or the Windows convert?
FFS! Yeah, we're using convert.exe... I over looked that Just had to remove "convert"... Thank you guys so much for your time!!!!!

SOLVED (I'm dumb)

Post Reply