Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6583559
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T16:25:29+00:00 2026-05-25T16:25:29+00:00

I have made a program that reads voltage and current values of some diode

  • 0

I have made a program that reads voltage and current values of some diode curves from an xml file and draws them on screen (Just using plain 2D graphics and some simple commands like DrawCurve and stuff like that).

My main image frame is 800 by 800 pixels (you can see a smaller screenshot down below). Now I want to add a zoom function that when I hover the mouse over this image area, a flying smaller square pops up and zooms in + moves when I move the mouse over this area.

I have no idea how to approach this. Ofcourse I don’t ask the full working code but please help me to get closer and closer!

For instance, can I make the zoom to work, without reading the curve data and painting real time? or there is no escape from it? How can I have a hovering image box when I move mouse over the orginal image?

Thanks!

enter image description here

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T16:25:30+00:00Added an answer on May 25, 2026 at 4:25 pm

    Have you timed how long DrawCurve takes? Perhaps it’s fast enough to do in real time. Don’t forget, the GDI will clip the drawing primitives to the drawing area. You just need to set up a clipping rectangle as you move the mouse around.

    To speed up the redraw, create the main window image (the one you pasted) as an off-screen bitmap, and just DrawImage the off-screen version to the window in the paint events. That way you reduce the impact of the DrawCurve.

    Finally, to get good looking results, overload the OnPaintBackground (can’t remember the name exactly but it’s something like that) so it does nothing (not even call the base class) and do all your painting in the OnPaint method using a BufferedGraphics object.

    Update

    Your paint function might look like this:

    OnPaint (...)
    {
      the_graphics_object.DrawImage (the background image);
      the_graphics_object.Clip = new Region (new Rectangle (coords relative to mouse position));
      the_graphics_object.TranslateTransform (drawing offset based on mouse position);
      RenderScene (the_graphics_object, scale_factor); // draws grid and curve, etc
      the_graphics_object.DrawRectangle (zoom view rectangle); // draw a frame around the zoomed view
    }
    

    This will produce a floating ‘window’ relative to the mouse position.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a program that load data from a file using std::ifstream and store
I have a pointer of a structure type that I made. On program start
I have made my own file type (.ddd) and I made a simple program
I have a program that makes some hefty calls to the database and then
I have some SerialPort code that constantly needs to read data from a serial
So, I have finished an assembly program that asks for a character, reads it,
We have a program made in Borland Delphi that uses Word automation to create
I have a linux server program that waits for incoming connections from a client
I have made a program in c and wanted to see, how much memory
I have made a registration program. Making use of mysql database. Can I still

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.