- From: ddailey <ddailey@zoominternet.net>
- Date: Sun, 20 May 2007 20:17:58 -0400
On Sunday, May 20, 2007 6:30 PML. David Baron wrote: "...This is the cairo 'saturate' operator..." The above reminded me: using SVG suggested to me a couple of questions* about SVG that would seem to be just as relevant to the <canvas> tag: 1. Is there a way, using filters, to take an image A and produce its photographic negative A', such that 255-C(A)=C(A') for each channel C in {R,G,B)? I've fooled a bit with the filter "feComponentTransfer" with some hints of success, but it seems like so natural a thing that there must be a straightforward way that I'm just missing. Here is an approach that comes close using <feComponentTransfer> together with <feComposite operator="arithmetic">. http://srufaculty.sru.edu/david.dailey/svg/ComponentTransferComposite.svg. It produces an image which looks like a spectrum-equalized version of the negative. 2. On a related theme, <feBlend/> has modes including "screen", "multiply" etc. Is there a way to create the "difference" between two images (as with the Photoshop difference filter) in SVG? Here's the best I have figured out so far: http://srufaculty.sru.edu/david.dailey/svg/ImageDiffer.svg . The ability to calculate differences between images comes in quite handy, for example, in explaining image compression to students, in scientific image processing, and I believe in forensics as well. Both examples above will require either Opera's native support for SVG+SMIL or something with the Adobe plugin, since the effect is differentially phased in with SMIL. Another question arises in my mind in this context: is there any reason that any of the treatments of these effects (like the Porter-Duff operators, darken, saturate etc.) should be any different than they are in the SVG spec? So many things that I see in the treatment of canvas remind me of something so similar to what is in SVG that it makes me wonder why not just reference say http://www.w3.org/TR/SVG/filters.html ? If indeed, my suspicion that 1 and 2, above, are not possible in current approaches within SVG, then that would certainly justify a reopening and augmentation of that treatment, but having come late to the discussions about <canvas> and having not been involved in the discussions about the SVG filters, I am a bit baffled by some of this. (Not that my state of bafflement is anyone's problem but mine, mind you: I am well prepared to deal with what I fear is a rather persistent condition.) David *taken from http://srufaculty.sru.edu/david.dailey/svg/svg_questions.htm
Received on Sunday, 20 May 2007 17:17:58 UTC