Opacity

2008-02-13 17:20:49 -08:00

As you may have read on wootest’s weblog, Like Thought Software released its new image editor, Opacity, today.

Before I go any further, here’s full disclosure: The developer invited me to beta-test the app, and I did. He also gave me a free license for this purpose (the app normally costs $89 USD). Also, I have some code in the app, because it uses IconFamily, which I contributed a patch to a long time ago.

OK, that’s everything. Now, to borrow from wootest’s disclaimer on the same topic:

Don’t confuse this as simple tit-for-tat back-scratching, though. Had I … had no involvement whatsoever, the application would still have been every bit as brilliant, and I would have come out just as strongly in favor of it.

I love this app.

Opacity is an image editor designed to enable app developers to create multiple-resolution and any-resolution graphics easily. It’s built for that specific purpose, and the Opacity website even says so. This app really is not intended for anything other than user-interface graphics.

Key points:

  • It’s mostly vector-based, but it also has primitive raster tools.
  • It has non-destructive Core Image filter layers, similar to Photoshop’s adjustment layers. (Contrast with Acorn, which makes you apply each filter permanently. You can’t go back and edit the filter parameters.)
  • It has built-in templates for most common icon types.

Opacity has several important features over past editors:

  • It has built-in support for multiple resolutions. Every Opacity document has one or more resolutions, and you can add and delete them at will.
  • It has a target-based workflow. Each Opacity document is, essentially, a “project” for one image; every target in the document results in one image file in an external format, such as TIFF or IconFamily (.icns). (The application now calls these “factories”, but early betas did, in fact, call them targets, and I prefer that terminology.) You can build each target factory or all targets factories at will, and there’s an option to build all whenever you Save.
  • You are not limited to the stock suite of transformations (e.g., Rotate 90°, Scale, Flip Vertical); you can make your own.
  • You can create folder layers to group layers (especially filter layers) together, and these folder layers can be nested as deeply as you want.
  • When configuring a Core Image filter that accepts an image as a parameter (e.g., Shaded Material, Blend with Mask, or one of the Transition or Composite filters), you can use any layer in the document—even folder layers.

Opacity is not perfect. Some things don’t quite work like you would expect: for example, vector objects do automatically appear in every resolution, but pixels that you draw or paste don’t automatically get mirrored to the other resolutions; instead, Opacity waits for your explicit say-so (the Clone Current Layer’s Pixels to Other Resolutions command). Opacity also still has a couple of major bugs: Flip Horizontal, for example, takes way too long in one document that I created. Personally, I didn’t expect it to go final this early, and I recommend that you wait until at least 1.0.1.

But those are dark linings in a silver cloud. Once all the major bugs are fixed, I believe that this app is how you will create your application’s custom toolbar and button images for the modern resolution-independent world.

2 Responses to “Opacity”

  1. Ron McElfresh Says:

    Looks like a nifty application in a highly competitive field. I love the blend of non-destructive filters which is handy for web work. I’ll wait a few versions. 1.0 crashed my Mac repeatedly. Leopard 10.5.2 which, until tonight, was ultra stable. Nasty and nifty at the same time.

  2. Peter Hosey Says:

    Ron McElfresh: Make sure you send your crash logs to the developer, so he can fix those crashers. The support address is on the Help page.

Leave a Reply

Do not delete the second sentence.


Warning: Undefined array key "ntt_saved_comment_text" in /home/public/blog/wp-content/plugins/negative-turing-test/negative-turing-test.php on line 143