- command=strprintf("convert -depth 8 -size %dx%d rgb:-[0] -density %dx%d \"%s\"\n",desc.get_w(),desc.get_h(),round_to_int(desc.get_x_res()/39.3700787402),round_to_int(desc.get_y_res()/39.3700787402),filename.c_str());
+ newfilename = filename;
+
+ command=strprintf("convert -depth 8 -size %dx%d rgb%s:-[0] -density %dx%d \"%s\"\n",
+ desc.get_w(), desc.get_h(), // size
+ ((channels(pf) == 4) ? "a" : ""), // rgba or rgb?
+ round_to_int(desc.get_x_res()/39.3700787402), // density
+ round_to_int(desc.get_y_res()/39.3700787402),
+ newfilename.c_str());