Blake O'Hare .com

Creating Glass Buttons in MSPaint

Tag: MSPaint
Note: this is a re-post from a tutorial I wrote in 2007. The Windows Vista version of MSPaint looks nothing like the Windows 7 version of MSPaint. But, as always, the same basic techniques of this tutorial are still applicable.

Earlier today, my desktop died. So now I'm using my Vista laptop. That's why the screenshots may appear odd.

Meet the Vista version of MSPaint...
mspaint_vista.png
Hello.

Vista mspaint is almost exactly like XP/2000 mspaint. There are some very few subtle differences.

  • The icons are prettier.
  • You can now adjust the size of the bezier curve, rectangle, ellipse, etc. tools without selecting the line tool first.
  • Zoom is laid out slightly differently. You can also zoom out if you wish.
  • The default color palette is different.
  • The color palette starts out at the top. I moved it to the bottom because I'm used to it that way.
Anyways...

Since everything in Vista is so shiny, it's only appropriate that we make shiny glass-buttons.

First open up an instance of mspaint and adjust the size to 100 by 100 pixels. Then draw a bezier curve from the top left corner down to the bottom right corner and fill the top portion with black. Like this...
mspaint_buttons01.png

Now reduce the width to 1% using the stretch and skew menu (Ctrl + W). This will create a smooth gradient. Now stretch it back out by repeatedly using the stretch and skew menu until you get it over 300 pixels wide. Once you have gone beyond 300 pixels, crop the width down to exactly 300 pixels with the Image Attributes (Ctrl + E). It should now look like this.
mspaint_buttons02.png

Now you want to select the entire image (Ctrl + A) and copy it (Ctrl + C). Using the color dropper, select the color of the bottom row of pixels as your background color. Go back to the image attributes (Ctrl + E) and adjust the height to 300 pixels. Use the flip and rotate menu (Ctrl + R) to flip the image vertically and then paste (Ctrl + V). You should end up with this...
mspaint_buttons03.png

Now copy and paste this image into a new window of mspaint so that you have two images that look exactly the same. Now rotate one of them 90 degrees (Ctrl + R).
mspaint_buttons04.png

Now open a new window of mspaint and adjust the image size to 600 by 600 pixels. Fill the entire image up with horizontal lines like so. For information on how to do this quickly, see the blending two pictures tutorial.
mspaint_buttons05.png

Go back to the other two pictures and scale them horizontally and vertically by 200% (Ctrl + W). Copy and paste your horizontal lines into one of the pictures and select white as your background color. Make sure that you're drawing in transparent mode so that it looks like this...
mspaint_buttons06.png

Copy and paste this onto the other counterpart. Make sure you're in transparent mode and select the contrasting color as the background color. You should now have this.
mspaint_buttons07.png

Deselect the image and scale the entire image down by 50% (Ctrl + W). If your image doesn't look like the image below, copy the entire image and paste it into a new mspaint instance before scaling it down (this is an mspaint bug. I'll have to talk to someone about this).
mspaint_buttons08.png

Open a new instance of mspaint and draw a small circle in the corner like this. This will eventually be the rounded corner of your button. So if you want lots of roundedness, make a bigger circle. Less roundedness, a smaller circle.
mspaint_buttons09.png

Using a series of copy, pastes, and rotates (Ctrl + R, in pre-Win7 mspaint), put the same circle on all four corners.
mspaint_buttons10.png

Then fill the center area with the circle's color.
mspaint_buttons11.png

Copy and paste this image to the other image you have with the circle color as the backgrouund color and transparent mode on. You will then get something like this...
mspaint_buttons12.png

Go back to the other window and draw a box of contrasting color on your button stencil. This will be a stencil for the shine on your button.
mspaint_buttons13.png

Use the ellipse tool to make the side rounded.
mspaint_buttons14.png

Then fill it in.
mspaint_buttons15.png

Copy the left portion of this image and rotate the whole thing horizontally (Ctrl + R). Then paste. This will ensure symmetry.
mspaint_buttons16.png

You don't actually need that black background anymore. Delete it.
mspaint_buttons17.png

Now copy this and paste it onto your other image so that you have this...
mspaint_buttons18.png

Open a new window and create a blank image that's roughly the height of (or larger than) your shine stencil region and 100 pixels wide. Draw a diagonal line across it and fill the bottom portion with the shade of blue (or whatever color you chose) that's directly below the shine region. Then fill the upper region with a much lighter color (that's almost white).
mspaint_buttons19.png

Now stretch this image down to 1% of its width (Ctrl + W) to create a gradient. Stretch this gradient out to 300 pixels wide and make the images height 400 pixels tall and move the gradient somewhat (but not touching) the top of the image. You'll be pasting the other image's contents here, so give yourself fudge room.
mspaint_buttons20.png

Go to the other image and copy all the contents and paste them into this small gradient image. Set the background color to the color of your shine stencil and position it above your gradient so that it shows through.
mspaint_buttons21.png

Now you can scale your button down to whatever size you need and crop out central regions of it to make it more horizontal or vertical.
mspaint_buttons22.png

But it looks so delicious.