What about the approach taken in those "rounded corner" scripts ?
I know that some versions use images and it seems that others have an algo approach.
The first way could be a quick'n easy hack, by using a large image that can be resized smaller.
I don't know much about the pure algo way by handling 1x1 pixel divs, but if IE's memory can handle it,
then it might be powerful.

Christof Donat wrote:
Hi,

  
A cross-browser canvas approach is possible:
http://me.eae.net/archive/2005/12/29/canvas-in-ie/
    

That is just an implementation for IE. That is not enough for a cross-browser 
canvas. IIRC ExplorerCanvas (the project that emil now seems to be involved) 
creates VML-Elements, which can be quite a lot if you do many drawing 
operations. I remember to have seen an implementation based on Walter Zorns 
Vector graphic library, which needs even more Elements of course:

http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm

Canvas was introduced by Apples Safari, current Gecko-browsers and AFAIK newer 
versions of Opera have it as well, but at the moment there is no way to do it 
with Konqueror and other less popular browsers. I guess Konqueror will get it 
sooner or later, but that ist just my hope and it doesn't help with the less 
popular browsers.

I have tried to use ExplorerCanvas in an Application that needs to set many 
single points with various alpha values (similar to an airbrush-effect). It 
is not capable to handle that - everything slows down dramatically, all your 
memory is eaten and in the end IE crashes.

I have also tried to use a huge data-url for Konqueror and manipulate the 
Base64 encoded PNG on the fly. I didn't manage to handle that complexity 
correctly so I failed. I wanted to modify the PNG inline to save memory which 
is not so simple :-(

If you whant a general drawing-library that works with most browsers and can 
handle very many painting instructions, I'd suggest:

1. Try to use canvas
2. If that fails, try to use data-URLs.
3. If that fails, look out for a Active-X control that can handle data-URLs 
(IIRC there are some)
4. If that fails, try to load a Java Applet that you use via Life-Connect
5. If that fails you may try to implement the drawing on the serverside in 
small pictures (e.g.10x10 pixel) and refresh them. To inform the Server of 
the users Actions you might try to use a XMLHttpRequest or a hidden iframe. 
The answer can include information about which of the small pictures needs to 
be reloaded (i.e. have changed with the drawing-command).
6. If even that fails you bite the dust.

I'd be very interested in something like that and I can help with it, but I 
myself can not do all of it. There is too much complexity in it.

Christof

_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

  

_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to