This content has moved - please find it at https://blog.cyotek.com.

Although these pages remain accessible, some content may not display correctly in future as the new blog evolves.

Visit https://blog.cyotek.com.

Resizing and cropping, round 1

The next update to the Gif Animator is fast approaching, and it's quite a big one - there's a very long list of both bug fixes and new features. In fact, I'm pretty pleased with the way the product is evolving, although there's still much to do.

A number of enhancements in the next update are to do with resizing and cropping of images, and that is what this post will talk about.

Adding Larger Images

Currently, if you add an image to an existing animation by using the Add Image command and the image you are adding is larger than the animation, the "canvas size" of the animation will be increased.

However, if you paste an image from the Clipboard or use the Replace Image command, then the image will be added as is with no further adjustments. If you then save the animation, it's effectively invalid because one or more frames are bigger than the supposed bounds. Gif Animator doesn't have a problem opening such animations, but I noted in testing that Internet Explorer refused to play such animations. Not really ideal!

Now, no matter how you add an image1, if the image is larger than the source animation a dialog will be displayed asking you how to proceed, offering the following options

  • Increase the animation canvas size
  • Crop the image
  • Resize the image

Adding a larger image to a fairly small animation

The screenshot above shows an example image being added to an animation that is only 32 x 32 pixels in size, and shows the crop option. Cropping allows you to select part of the image (no larger than the canvas size) and import just that part.

I'll cover the two resize options in the sections below.

1 Currently if you add an entire animation to an existing animation, it will do the old behaviour and just resize the animation canvas.

Changing the canvas size

While each frame in an animation can have a custom size, the animation as a whole has its own size. I'm going to call this the canvas size for want of anything better, and it's a recognized convention anyway. You can make the canvas larger, or smaller, and rearrange the positions of the images of each frame.

While you can currently change the canvas size easily enough, you have to manually reposition any frame offsets which isn't ideal. The next update helps to mitigate this by providing a new Resize Canvas tool, which as noted can be accessed automatically when importing a large image, but can also be used at any other time.

Resizing the canvas of an animation

Here we see an example of the tool in action - firstly you specify the size of the new canvas, either by simply specifying a percentage to increase/decrease the size by, or providing absolute values, along with helpful previews to show you the outcome.

In addition, you can also define how you want existing frames repositioned - for example, you might be adding some form of background graphic and wish to push existing frames into the bottom right. At the moment you can select one of 9 positions, a future update will add finer control in a similar manner as offered by the Text and Watermark effects.

Resizing an entire animation

Of course, you might not want to change the canvas size. Perhaps you have a large animation and you want to create a smaller version. With the Resize Animation tool this can now be easily done.

Resize an animation and all the frames within it

This tool offers similar percentage or absolute based sizing, and also allows you to specify the resampling mode of the resized frames. Any custom offsets used by frames will be automatically adjusted to fit the new size.

Resizing an image

Sometimes you might want to resize the image contained in a frame and this too is now possible, using the same interface as resizing an animation above. As with most other frame tools, you can select multiple frames in the animation and resize them all at once.

Anything else?

That's about it for this update, in terms of resizing functionality at least. I have quite a few more ideas for functionality in these areas, but a release isn't a release unless it's ... well, released!

Update History

  • 2014-10-08 - First published
  • 2020-11-23 - Updated formatting

Leave a Comment

While we appreciate comments from our users, please follow our posting guidelines. Have you tried the Cyotek Forums for support from Cyotek and the community?

Styling with Markdown is supported