?
Solved

IMPOSSIBLE? Compositing Images into One Image

Posted on 2005-02-25
5
Medium Priority
?
262 Views
Last Modified: 2010-04-06
For the longest time I've been trying to create my own Remote Desktop Assistance tool using Internet Explorer 5.5 or higher on a Windows XP  system.  I have already created a tool for the remote user to run (95KB) which acts as a server to translate my webbrowser requests into full system interactivity.  The tool will then return the new imagery to the remote client web browser window.  I've taken this approach because my work, where I'd like to use the web client tool, is heavily restricted so using many ActiveX tools, Java, Flash, etc are limited to non-existant.  Basically i can use HTML, CSS, IE, and Javascript.  And i cannot be a server on my end.  Though i have been able to use ActiveXObject("XMLHTTP") successfully.

The remote server and web browser client interface using DHTML communicate with one another well and it does work.  The problem Im experiencing is the returned JPG images which can be full screen 1024x768 pics to small partial images of 5x5 pixels are being "overlayed" on top of one another to give the illusion of a changing desktop in the web browser client interface.  It works but the memory it chews up is phenomenal.  I've looked at Task Manager and have gotten the IEXPLORE.EXE process up to 160MB.  When i dump all the images i am back down to 19MB.  Ouch.

I'm looking for an overlay approach that is more efficient with received JPG images.  Preferably I want the images "composited"  overtop the other and then the image object dropped as i dont care much about it as the imagery has been pasted/painted on screen anyway, and so releasing the image object memory is beneficial.  Perhaps an ActiveXObject/DirectX solution is out there to actually draw the images overtop one another.  Basically instead of retrieving and overlaying hundreds of images one on top of the other I want to simply paint overtiop of the same canvas image retaining the same memory usage.

Is there some kind of technique out there regardless of complexity which i could use under the web browser to give me such control?  The closest I've found are CSS filters but again these retain objects rather than painting overtop of one another.

Thanks for anything.
0
Comment
Question by:barkin
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 8

Accepted Solution

by:
fatalXception earned 272 total points
ID: 13411359
Wow.
Off the top of my head I can think of one potential solution although I am not sure it will fit your needs.
Re-write the Client application to act as a very tiny web server (minmal functionality) and when taking the screen grabs, save them as a jpeg in some directory or other on the client computer.
Then on your "server side" browser, have an img tag which points to the remote image as in
<img src = "client computer/RemoteAssistance/screen.jpg>

and just refresh this at the desired intervals. So rather than the client "pushing" a jpg to you every second or whatever, you are "pulling" the jpg from them to you, say when you move the mouse or every 2/3 seconds. And as it's an img tag as opposed to a variable, it will take up the same amount of memory constantly.
That would overcome the memory problems associated with creating a new image object every frame.
Just an off the top of my head idea.
0
 
LVL 23

Assisted Solution

by:sciwriter
sciwriter earned 264 total points
ID: 13417757
You are basically talking Z-indexing.  I.e. hiding and showing layers based on their visibility or Z index -- you can write different text or images to different layers, then just make one layer visible by changing the z-index, while all the rest remain there, but unseen.  

In your case, you need to realize this is a fairly new DHTML technology, and it is unlikely that IE 5.5 will do what you want, completely that is.  If you can assume IE 6+ and the latest Mozilla browsers, they both handle this fine.

Go on a google search for javascript z-indexing, see if that will help -- it is a complex topic, don't give up too soon.
0
 
LVL 10

Assisted Solution

by:BobSiemens
BobSiemens earned 264 total points
ID: 13422959
Have you considered using a tool like this one:

http://www.webattack.com/freeware/gmm/fwimgprocess.shtml

Use a command line tool or lined library which will, on the server side, ovelay images.  That way, you aren't trying to send up a bunch of images and work out the overlay on the client side.  Instead you'd send up one image which has been composed on the server using relatively simple graphics manipulations.
0

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most of the sites are being standardized with W3C Web Standards. W3C provides lot of web standard services to the web. They have the web specification, process and documentation for all the web standards. You can apply HTML, CSS and Accessibility st…
I will show you how to create a ASP.NET Captcha control without using any HTTP HANDELRS or what so ever. you can easily plug it into your web pages. For Example a = 2 + 3 (where 2 and 3 are 2 random numbers) Session("Answer") = 5 then we…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question