Skip to content

Instantly share code, notes, and snippets.

@ckabalan
Last active August 23, 2024 05:31
Show Gist options
  • Save ckabalan/963ab7a9f528624667764efda120af89 to your computer and use it in GitHub Desktop.
Save ckabalan/963ab7a9f528624667764efda120af89 to your computer and use it in GitHub Desktop.
PowerPoint Architecture Diagram Tips

PowerPoint Architecture Diagram Tips

Why PowerPoint for Diagrams?

  • Everyone has Microsoft PowerPoint or something PowerPoint compatible. Visio is dated and doesn't work on MacOS. There are too many different LucidCharts/DrawIO/Diagrams.net competitors and no clear winner, so you have a 1/3 chance of someone having your chosen tool. YOu have a 95% chance of someone having PowerPoint.
  • PowerPoint gives you amazing flexibility in the design of your diagram using familiar configuration options people have used in Word and PowerPoint for literally 30 years.

Tips for Drafting a Diagram

  • Create a blank slide, and change your slide size to be huge. Design Tab > Slide Size > Page Setup. I use a Width of 30in and Height of 20in.

PowerPoint PNG Export - Maximum Quality

  • For MAXIMUM quality you should highlight everything on the slide (Ctrl+A), right click on a shape, and click Save as Picture. This will generate a super high resolution image on the order of 10,000 pixels wide. You can then crop and resize the image to your liking and distribute.
  • Alternative (MacOS): Highlight everything on the slide, copy it, open Preview (the MacOS image viewer), File > New From Clipboard.
  • Alternatve: Go to File > Export. Change File Format to PNG. Choose Save Current Slide Only. Fiddle with Width/Height until you get the maximum resolution. In my experience I couldn't get it to go past 3990 width on MacOS.

Finalizing an Image for Distribution

Once a diagram is finalized I will generally do the following process:

  • Export as above, creating a ~3MB 10,000px wide PNG file
  • Open in GIMP
    • Choose the Fuzzy Select Tool, change Threshold to 0, click in the background or transparent area. This selects the entire background.
    • We want to select the content, so go to Select > Invert, now all the content is selected.
    • Crop out any extra space by going to Image > Crop to Selection
    • Now lets add a 2% border around the whole thing. Go to Image > Canvas Size
      • Change the Width and Hight to 102%
      • Click "Center"
      • Resize layers = All Layers
      • Fill with = Transparency
      • Click Resize
    • If you have a transparent background let's change that to white:
      • In the Layers pane right click and choose New Layer
      • Fill With = White
      • Click OK
      • Move your new layer below the diagram layer.
    • Your final diagram should have a white background and comfortable spacing around all edges
    • Export via File > Export As...
      • Change your filename, ensure it has a .png extension
      • Click Export, leave the defaults, click Export.
    • You should now have a .png file with a high resolution version of your diagram, probably a few MB. If file size is a concern you should consider following the PNG optimization steps below, possibly in combination with scaling the image down (GIMP: Image > Scale Image) and re-exporting.
  • Optimize the file size using pngquant. I've typically seen ~72% reduction in file size, 3.0M -> 863K, with no visual differences that I can find, even at super high resolution, zooming in.
    • Install pngquant
    • Optimize the file: pngquant --ext _optimized.png --speed 1 --verbose input-file.png
    • View your new file at input-file_optimized.png
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment