Hi folks.
I have planned to come up with a better interface for the scale dialogs.
The task turned out to be more complex than I initially thought. Because
I will probably be busy until next weekend I am posting the unfinished
work here for some discussion that could help push things forward. Only
the image scale dialog has been mocked up in glade for now, although
suggestions how to solve the defined tasks are suggested. No UI for that
yet. There are couple of open issues even with the scale image dialog. 

      * The header could stay, showing not only a thumbnail, filename,
        but perhaps also the original pixel size (see below). 
      * Task No.7 is calling for some sort of preview control within the
        dialog (perhaps embedded in the disclosure triangle) control
        similar to what we have for changing canvas size, except with
        pixmap preview. 
      * Don't have a use case for why would the original pixel size be
        useful. Dropped it, but have a weird feeling I'm missing

PNG mockup:

glade files:


Jakub Steiner <[EMAIL PROTECTED]>
revision 0.1 - initial draft (16.5.2004)

Scale Dialogs Proposal

Pete is a webdesigner with a passion for music and photography. He runs GIMP on


1) Pete wants to scale his photograph so that it best-fits on a CD cover to
modify it later on and add a subtitle. Pete wants to keep the aspect ratio, but
prefers cropping to framing. The photo he wants to put on the background of the
CD cover has a 13:9 ratio.

2) Pete has a base of his CD cover done, but now needs to put a photograph below
his CD title. 

   a) The source photo is very wide and has two tall trees on the sides, but
   people standing next to them. He would like the trees to align with the start
   and end letters of the title and still make the people fit. Pete wants to
   keep the aspect ratio of the original photo.
   b) The source photo needs to fit the width of the text and height of the
   remaining area below the photo.

   c) Pete doesn't like the final size of the title/photo cobinations and wants
   to scale them down a little keeping them cenetered horizontally.

3) Pete has a nice 16x16 B/W icon that look very nice next to the copyright
information, however it needs to be scaled up to be visible. He doesn't want it
to end up all blury thanks to filtering.

4) Pete has a a set of photographs and wants them all scaled down to VGA

5) Pete needs to do an abstract wallpaper for a specific screen that he know is
2000px wide and has a 16:9 aspect ratio. He has a nice abstract 13:9 photo that 
can take some distortion.

6) Pete wants to see if the cover would work for the small-sized CD too. Without
changing the pixel resolution, he wants to boost the print resolution.

7) Pete's friend Tom brought an screengrab from his PAL video footage that he
recorded in wideangle mode and is a bit compressed horizontally. He wants to put
that shot on the webpage so he'd like to correct the aspect ratio.

Interface Proposal

One thing that would be very helpful everywhere in GIMP would be using a custom
"intelligent" unit text entry. Instead of using a spinbox and a dropdown for
entering numbere values and units, there could be a single entrybox accepting a
number AND the unit, that would also include a simple calculator. Task 5
illustrates how it could be useful in practice.

Image Scale Dialog

Some comments

* The ratio control has been dropped, since it effectively duplicates the % unit.
* Print resolution has been removed (discussed at task 6 below)
* Quality frame can possibly be dropped and template moved outsize the size
  frame as you have done with the New dialog implementation in 2.1. That goes
  against the suggestion of the HIG not to mix framed and unframed elements
* Pixel size label would only appear when using non pixel units

Task Accomplishment

1) Pete opens the new image and brings up the image>scale dialog. He slects "CD"
as a template. The Width and Height values get unlinked. Pete changes the unit
to "%". He sees something like 56% for Width and 80% for Height. Because he
wants the image to retain its aspect ratio, he locks W and H, focuses the H
control and presses enter. That will make the Width control update to 80%. He
applies the settings and brings up the Image>Canvas size dialog. Selects the CD
template and presses the center button.

2a) Pete drags the source photo onto the CD cover image. With the photo layer
active, he selects the scale tool which now has a live preview of the
transformation (*yay* ;). 

/* not sure about this (would be consistant with the selection tools):

Alt dragging moves the layer/selection, Shift keeps the aspect ratio, Ctrl
scales centered with regard to the pivot point. Dragging from the sides will
scale only in the appropriate axis. 

This can be problematic with large layers on small images (solvable with large
zoom + perhaps fullscreen mode), however the current behaviour isn't consistent
and doesn't handle keeping aspect ratio if I'm not mistaken.

Thanks to the preview he can position the image exactly he wants.

2b) Pete creates a rectangular selection below the CD title which defines
exactly the target area. He makes sure the photo he wants to scale is placed on
the CD image and active. He brings up the layer>scale dialog and clicks on the
from selection button. That updates all the appropriate fields. He applies his
changes pressing OK button.

2c) Pete locks the title text and the photo below in the layer's window and uses
the scale tool. 

/* again the proposed behaviour:

Pete presses Ctrl while draging so that the layers are scaled evenly on
both sides keeping the objects centered horizontally.

3) Pete drags the icon on the CD cover. He uses the scale tool /* constraining
proportions with Shift */ with the "interpolaton" tool setting set to "none".
The preview gives him good idea about the size of the artwork even when the
original icon had some padding.

4) GIMP is an interactive image editor, not a batch processor. Task No. 4 should
be addressed with a batch/commandline processor such as ImageMagick or an image
viewer/manager such as f-spot or gthumb.

5) If GIMP had the custom unit inputbox which could accept not only the number,
but the unit as well, one could easily accomplish the task the following way.
Pete enters 2000 px in "width" inputbox. Unselects the link between W and H. The
computed value for height is, say, 1385. He enters "1385/16*9 px" or 
"1385 px * 9/16" to get 779 px.

6) Peter brings up the Image properties dock and changes the final print
resolution from 75 DPI to 150DPI.

I would reccomend removing the print resolution from the scale dialog.
Scaling in this sense doesn't affect any pixels and should be treated as an
image property. FIXME: I suggest introducting an Image Properties dialog that
would include some meta info editor, EXIF data viewer, and print resolution.
Having it as a dock and merging it with Image>View>Info Window would be a good

Gimp-developer mailing list

Reply via email to