Image compression

Is there any way of compressing images in graffle? As far as I can tell there isn’t.

You can Copy As>PNG and paste that into the image frame. It’s going to copy just the part of the image that is showing in the image mask, so that may save you some pixels.

You can also go to the Document inspector, and make sure Compress on Disk and Save as file package (or automatic) are set. This will compress your images with your file package, which is good for most things, unless you are trying to sync using Dropbox (or some other cloud hosts that do not support compression based package file formats for macOS).

I hope this helps! We have got a new feature in test right now, where you can see the image metadata in the Inspector which might help you make some decisions about which images are worth replacing via copy/paste. If you want to test that out, grab the latest [OmniGraffle 7.11 Test Build](] and try it out.


Thanks. The images I’m using aren’t cropped unfortunately. Does omni save copied images as tiff by default? That’s what mine save as in the package. I’m copying them over from onenote. The package file itself is in my onedrive directory.

I’ve made an automator workflow that takes the images in the package file and compresses them. They’re still tiff format though so a few hundred kb an image rather than 10/20kb for jpg. I can tweak the workflow to convert them to jpg but then omni loses track of them in the file.

1 Like

That’s the macOS default. You can change the default file type for screen captures by using a terminal command. Every installation of Mac OS X includes the Terminal application in Applications > Utilities. Most major image formats are supported including PNG, PDF, GIF, TIFF, and JPG:

For example, if you want to change to JPG, use Terminal command:

defaults write type jpg

Then you must kill the SystemUIServer for changes to take effect:

killall SystemUIServer

The default only effects screen captures, still handy to know though. Done some testing. If I copy an image from onenote and paste it in to a shape container - so it scales to the shape - the image is saved as a tiff. However if I paste the image directly in to omni the conventional way - which means scaling manually - the image is saved as a png. So that must be omni making that choice right? It’s odd because some of my old omni files have been saving images as jpg. Only thing I can think that I was doing differently was that I wasn’t using a shape container for the images.

Is there a way of scripting something that changes the reference to the images from tiff to jpg? Then I could use an applescript/automator workflow to convert the images to jpg and compress them. Ideally I’d like to specify how to save the images in omni but I guess that would be a feature request.

Sure, you an Copy As from the context menu, then paste into the same shape within OmniGraffle. Unfortunately, JPG isn’t an option. You could use Preview to open the images from the document package and save them as JPG or to create from the clipboard and save as the format you want.

I believe when pasting, we use whatever macOS gives us, but when you place we preserve the original format of your image, so you will get different results depending on how you bring the image in to OmniGraffle and what format the image was in to start with. There is no terminal default for the overall Mac clipboard. The source application prepares images for the clipboard, so OneNote may be making the choice, which is part of why we have a Copy As menu in OmniGraffle, so that you can control some aspects when you are pasting into other applications. There’s options in OneNote you can use to control what is copied to the clipboard, to some extent. may help. There is also a preference order in OmniGraffle based on which formats are available on the clipboard, but unfortunately you can’t control which one it picks. The order is internal OmniGraffle format, then PDF, then PNG, then TIFF, and then LinkBack, so if it’s getting all the way to TIFF format, that would indicate that PDF and PNG were not on the clipboard. You can get the ClipboardViewer app from the Apple Developer website to see what is on the clipboard which may help you in your search to automate this. Thanks to the developer who helped me understand what the priority order is for OmniGraffle, as I wasn’t clear on what to expect.

Compared to the clipboard, using the place image command allows you more control over your images, in terms of file format, resolution and color space. This matters most if you are preparing documents for printing, and matters much less if your end destination is a screen. This applies in most receiving applications, because the pasteboard will limit you to what the source application put on the clipboard, which may not be the same as the original image. I realize this isn’t as fast and conveinent a workflow, which is why so many people love copy/paste, but there is a tradeoff when it comes to what you can control. There are some fancy clipboard applications for macOS that may be an option, but I haven’t personally tested them, so I don’t know if they can solve this issue. I hope this is useful for deciding which tradeoffs make sense based on the final output format of your OmniGraffle content.


I don’t know if this is helpful here - but here goes…

With PowerPoint on Mac, my team found pasting in images from the clipboard generated a huge PowerPoint file.

Inserting from a file - with the file dialog - avoided that effect.

The mention of TIFF above made me think this was a platform thing, not specific to PowerPoint.

Can someone try the experiment of pasting in versus inserting from a file?