What is the best way to scale UVs to fit an image? I was just wondering as it's something I often find myself doing, but is there a automated way to scale selected UVs to fit to the edges of the image boundary in the UV editor?

Currently I have a process which isn't too time consuming, but nonetheless a little bit more so than hitting a button. These images show my process and what I am trying to achieve.




Note: that I scaled everything by the same value, but if I wanted to fit the image square, I would have to do this process once for width and again for height.

Is there a built-in function to do this?
Grab to corner + Scale (not preserving proprtions)

With the Rotation/Scaling Pivot set to 2D Cursor and the cursor in the origin (0,0), activate the Constraint to Image Bounds option, grab the island in the corner and then scale:





Pack island+Scale (preserving proportions)

As stated by the Blender Reference Manual:


  The Pack Islands tool, shortcut Ctrl+P, will uniformly scale, then individually transform each Island so that they fill up the UV space as much as possible.




You can select multiple UV island to scale them while maintaining their relative proportions, or even just one as in the example to quickly scale every possible previusly unwrapped island to the bounds being sure it will not be stretched.

Notice that the box in the toolshelf is unchecked to prevent island's rotation.