Aren't there already tools for reformatting images?

Why, yes! There is no shortage of existing tools that allow you to crop, resize, or otherwise modify existing images.

So why write yet another one?

Drag-n-Crop exists to serve a very specific purpose: allowing you to take a very large number of images and reformat them all to precisely fit a given output device, in a short period of time while (and this is what sets it apart from similar tools) allowing the user to easily customize cropping for each image. That's not the only thing it can do, but that's its only reason for existence and it's the one thing it's really good at.

There are tools that allow for complete control over cropping. There are also tools that allow for batch processing of cropping. These tools can all optionally resize images as they are cropped. But batch processing doesn't allow for customization of what part of the image remains, and the other tools that do allow that customization don't have a stream-lined way to do that, making it a time-consuming process to reformat a large number of images.

Why would I want to reformat a large number of images all at once?

If you're reading this, chances are you already know the answer. There are lots of reasons one might want to do this. But to explain what directly motivated the creation of this utility, three simple words: "digital picture frame". These come in a variety of sizes and aspect ratios. Most digital photos come off the camera at a much higher resolution than these digital picture frames can display, and while many frames have the same 4:3 aspect ratio that is used by the majority of digital cameras today, some do not.

Digital picture frames have a single native resolution at which the image must be displayed. If the image being displayed is not stored at this resolution, it has to be scaled by the picture frame, which may not always produce results as good as can be achieved by doing that scaling ahead of time. To make matters worse, if the aspect ratio of the image is not the same as that of the picture frame, the frame will either crop it for you (with no way to customize the cropping) or it will reduce the image further, so that the entire image fits (with unused "black bars" on the sides or the top and bottom).

In addition, even if the picture frame has a good quality scaler, storing an image larger than is actually necessary is wasteful and unnecessarily reduces the total number of images that can be stored on the picture frame's media.

To address these issues, you should reformat any images you want to display on a digital picture frame before you transfer copies to the frame. Even the frames with relatively limited storage capacity can handle hundreds of images, and most can store much more (especially if they are reduced as appropriate for the frame's resolution) and many even use user-provided memory cards, which can allow for even greater numbers of images. So that's a lot of editing!

Can't an automated, batch-processing cropping utility do the job?

That depends. For some situations, yes. If you know that keeping the same portion of every single image (for example, the center of the image) is appropriate for the entire batch of images, then a batch utility will be even faster than using Drag-n-Crop. More importantly, it can run unattended, something that Drag-n-Crop currently does not support.

But not all photographers center their subjects in every photo, nor is it necessarily always the case that a photo has only one object of interest. In fact, it's quite common for any photo other than a basic "point and shoot" snapshot to have been composed with important elements outside the center of the photo. For best visual results, retaining as closely as possible the original composition of the photo, cropping must be done manually.

Can't I batch-process all my photos and then go back and fix the ones that need it with my regular image editing software?

Sure! And for some situations, this works fine. If the number of images that need manual attention is very small, you may in fact be able to complete the task more quickly than if using Drag-n-Crop. But it doesn't take many photos before the time spent manually cropping images over-takes the time advantage of having batch-processed all the images initially.

As a quick example, let's start with some assumptions:

Now, with those assumptions, let's do the math. (imagine calculator buttons clacking here, maybe some paper tape being printed on, and if you're really into nostalgia, the sound of a big crank turning the gears of the mechanical calculator). With manual cropping taking 7.5 times as much time as using Drag-n-Crop, the break-even point is 13%. That is, it would take you as long to process all of your images with Drag-n-Crop as it would to process 13% of your images in your favorite image editing software.

For me, those numbers are conservative. I can go faster than 2 seconds per image in Drag-n-Crop, but I'm slower than 15 seconds per image in my favorite image editing software. I actually break even closer to 3-5%, which is after all why I wrote the program in the first place. :) So you can see, unless nearly all of your images are suited to being cropped in exactly the same place, Drag-n-Crop can save you a lot of time.