GNOME Bugzilla – Bug 166059
MNG with different-sized frames is missing offsets
Last modified: 2008-01-15 12:47:04 UTC
I have a multi-layer GIMP image where different layers have different sizes, larger than the canvas. This is the result of having duplicated and then rotated them. When I save to MNG, each layer becomes a frame. According to ImageMagick's "identify" program the frames' sizes are correctly stored. However the offsets always seem to be zero. As a result the layers are not aligned correctly when viewing (using ImageMagick's "animate" program). Here is the output from "identify": $ identify mnglayeroffset.mng identify: Pixel cache is not open `mnglayeroffset.mng'. mnglayeroffset.mng[0] MNG 50x50 50x50+0+0 DirectClass 1kb 0.190u 0:01 mnglayeroffset.mng[1] MNG 70x70 70x70+0+0 DirectClass 1kb 0.170u 0:01 ^^^^ Cropping the image, so that the layers all have the same size, fixes it. It's quite possible that this is an ImageMagick problem, but I'm afraid I don't have any other MNG viewers. (Anyone know of anything for Linux?) I will attach .xcf and .mng files to demonstrate.
Created attachment 36873 [details] XCF demo
Created attachment 36874 [details] Demo MNG
Should be easy to fix the mng plug-in.
I've verified the problem with gmngview out of the libmng source tree.
Fixed in both branches: 2005-02-18 Sven Neumann <sven@gimp.org> * plug-ins/common/mng.c (mng_save_image): write a DEFI chunk to set the frame offset if the layer offsets are != 0, not only if they are > 0. Fixes bug #166059.