On Tue, 31 Oct 2006, J. Landman Gay wrote:

Wilhelm Sanke wrote:
<snip>

For the above points there are no differences between Rev and MC, but
- The format of the "text of image" property is different in Rev and MC - tested both in stacks and standalones.

Rev sets the default paintCompression to PNG and MC sets it to RLE. I suspect this is done in the RevCommon library, but I haven't actually looked. To test equivalencies, it would be good if you set the the paintCompression to PNG in MC too.



Thanks, Jacqueline, this was the most important hint for me in the last weeks, because it also solves the mystery of the slow imagedata handling in Rev, which we dicussed at length in thread "MC-Rev speed differences.."

A related problem and also involving "paintcompression" had been dicussed between Dar Scott and Wouter in January 2004.---


The format of paintcompression affects both properties "text of image" and "imagedata".

How the properties are affected seems to be a can of worms and the Rev docs are incomplete/ambiguous here and even wrong for some details:

Rev docs: "By default, the global paintcompression property is set to "rle" in standalones and "png" in the development environment."

This is not true: By default, in Rev paintcompression is set to PNG in the environment *and* standalones. If this would not be the case then we would not get the speed differences in imagedata handling between Metacard and Revolution.

Rev docs: "If the image was created with the import command, its paintcompression is set to the format of the imported picture file."

This is only true if the image was fully imported. For a "referenced" image the paintcompression format is that of the environment, PNG for Rev and RLE ("Windows run-length encoded") for Metacard, and - a referenced image does not contain any "text of image" data, but contains "imagedata". A referenced image will acquire "text of image" data only after you have edited it.

Rev docs: "To change an image's compression format, first set the paintcompression to the desired value, then paint in the image. Then either go to another card and return, or close and re-open the stack."

This is only partially true: Besides painting in the image you can apply other possibilities of editing like changing the imagedata with filters etc. Also it is not necessary to go to another card and return.

The short entry 707 of the Metacard docs is more precise here:

"This property sets the compression format used when an image is recompressed after it has been edited."---

When you get the "text of image" data while paintcompression if set to RLE (and the image had been edited), resetting the image to its own "text of image" data will make it totally transparent as all chars of its alphadata are set to 0. I suppose this is a bug, as I cannot see a sound reason for this transparency. Resetting the alphadata of the transparent image to 255 will not reset the image, but produce a monochrome rectangle.

The "text of image" data can be retrieved and reset with the other paintcompression formats PNG, JPEG, and GIF.

If the paintcompression is set to GIF (and the image had been edited) and you restore an image with "imagedata" retrieved with paintcompression set to RLE or PNG the resulting image may be distorted or incomplete.

For my imagedata-handling stacks "Seamless Tiles" and "Imagedata Toolkit" I added an open-stack handler with "set the paintcompression to RLE". The described and discussed speed differences between MC and Rev are no longer there.

At least one question remains, where is the default paintcompression set? I made a script search in the MC home and tools stacks and did not find "paintcompression"?? -

I have added a comment to my Bugzilla entry 3938 stating that the issue has been resolved.

Best regards,

Wilhelm Sanke
<http://www.sanke.org/MetaMedia>


_______________________________________________
metacard mailing list
metacard@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/metacard

Reply via email to