Using masks with images in Keynote and Pages is a great way to create eye-catching graphics in your presentations and documents. The range of shapes available is however quite limited. You could draw your own using the pen tool from the Shapes drop down menu, but it would be much easier to create useful and interesting shapes in a dedicated drawing program. There is no obvious way to import new shapes to Keynote but, since the shapes it employs are scalable vector graphics, there are fortunately some workflows that can create impressive results, even if, like me, you are a musician and not a graphic designer.
EazyDraw is the only SVG based graphics application that I've come across that can easily export directly to the Keynote format. At the time of writing version 3 is available for $29.99 on the Mac App Store, and is a very capable illustration program in its own right. EazyDraw 4.1.0 is the latest version, at $94.99 on the Mac App Store. Alternatively you can purchase a 9 month trial license for $20 on the Eazydraw website, or download and use unlicensed with certain restrictions.
Step 1: Create the graphic that you are going to use as a mask in EazyDraw. For the sake of this tutorial we have used the text tool, but you can use any other shapes you want
Creating the graphic in EazyDraw.
Step 2: Select all the elements of your design (the letters in this case) and from the Tools menu choose Convert to > Bezier Path
Step 3: From the Format menu choose Grouping > Ungroup
Step 4: From the Tools menu choose Convert to > Joined Bezier
Prior to export.
Step 5: From the File menu choose Export...
Step 6: Change the file format to Keynote, leaving the other options set to '˜Just Graphics' and '˜One Slide'
Exporting to Keynote.
Step 7: In Keynote, open the file you have created in EazyDraw (just double click it), then select and copy the '˜shape' to the same slide on which is the image you want to mask
Opening the graphic in Keynote.
Step 8: Select both image and masking shape, then choose '˜Mask with Selected Shape' from the Format menu - this option only appears if you have both the image and the shape you are going to use as the mask selected. Because the shape you created in EazyDraw is vector-based, you can resize it to any size without getting jagged edges, and you can also add further effects to the mask such as '˜Reflection' in the Graphics Inspector
Image and mask shape selected.
After choosing '˜Mask with Selected Shape'.
The finished design.
The drawback is that EazyDraw costs money, and you could use Illustrator to create your SVG and that costs even more, but there is an alternative method that is totally free (although slightly more involved).
Step 1: Download and install Inkscape from www.inkscape.org. Inkscape is an open source SVG graphics application and is free to use under the terms of its GPL license
Step 2: Inkscape uses the X11 environment which you also need to install if you haven't done so already (check in your Utilities folder). If not then you will find it as an optional installation on your Mac OS installation disk
Step 3: Create your graphic - again we will use text for this example
Creating the graphic in Inkscape.
Step 4: Select all objects
Step 5: Choose Path > Union
Step 6: Save as an SVG file in the root level of your Home directory
Step 7: Download svg2key from here.
This is a free command line utility that lets you convert SVG files into the Keynote format. To install svg2key double-click the svg2key-0.2.dmg file to mount the disk image. Then drag the files over to your home folder. Launch the Terminal.app (in /Applications/Utilities) and type:
chmod a+x svg2key [Return]
Step 8: Open Terminal and enter the following:
svg2key example.svg [Return]
A file called untitled.key will be created at the root level of your home directory. If you want to be a little bit more organised you should save your SVG files in a named folder in the Home directory and create a folder which will be the destination of the Keynote files. This time in Terminal enter the following:
svg2key -o destfolder/name.key sourcefolder/example.svg [Return]
where dest folder is the name of the folder into which you want the Keynote files to be put, name.key is the name of the Keynote file you are creating, sourcefolder is the name of the folder in which you have saved your SVG file(s) and example.svg is the name of the SVG file you are converting
**Image 9.png**Converting from .svg to keynote in Terminal
Step 9: In Keynote, open the file you have created in the steps above, then select and copy the '˜shape' to the same slide on which is the image you want to mask
Step 10: Select both image and masking shape, then choose '˜Mask with Selected Shape' from the Format menu - this option only appears if you have both the image and the shape you are going to use as the mask selected. Because the shape you created in Inkscape is vector-based, you can resize it to any size without getting jagged edges, and you can also add further effects to the mask such as '˜Reflection' in the Graphics Inspector.
Although both methods involve creating Keynote files, because you can copy shapes from Keynote to Pages, you can open the mask shape in Keynote, then copy and paste it into your Pages document, where you can also use it to mask an image in exactly the same way.
Copying the mask graphic from the Keynote slide to a Pages document allows it to be used as a mask in Pages.