Hacker News new | ask | show | jobs
by cpach 2876 days ago
Wasn’t Macromedia Fireworks also capable of doing both raster and vector?
1 comments

Not exactly. Fireworks was a raster-based graphics program that behaved like a vector program -- everything you drew was an object that could be moved backward and forward on its layer, with opacity, clipping, blending style, etc., set independently. There was no real distinction between vector shapes, text shapes, and raster shapes; all operations were available on any graphics object at any point in time.
The clearer way to describe it is that Fireworks was a reuse of the Macromedia Flash drawing engine. So you had shapes, and these shapes had z-axis positions, a stack of active filters, and a reference to a texture.

A Fireworks PNG document, then, was a pile of shapes (just like a Flash animation frame), with each shape referred to as a "layer"; along with a pile of mutable texture data for the shapes to use, with each texture bound 1:1 to a particular rectangle shape, with the shape and its texture together referred to as a "raster image."

Every time you changed anything, the whole thing just got re-rendered onto a canvas using the Flash rendering logic. When you saved the PNG "document", it kept all the document chunks, but added the baked rendered representation it had been using for previewing as a basic PNG chunk at the end of the document. Thus, it was kind of an actual PNG file. (But the flattened PNG chunk was only "the document" as much as the JPEG cover image inside an .epub is "the book.")

I'd forgotten that sort of clever craziness with Fireworks PNG files! For a while after discovering the program I thought, "Wow, PNG does a whole lot of neat stuff I didn't think it could." Later I learned, no, Fireworks was just stuffing a whole lot of Fireworks-specific data into private chunks. :)