Solved

How save Screen to Bitmap image?

Posted on 2000-03-23
4
333 Views
Last Modified: 2010-05-18
How save Screen to Bitmap image in C++?
Please can anyone send me example code?
0
Comment
Question by:Viesturs
  • 2
4 Comments
 
LVL 22

Expert Comment

by:nietod
ID: 2649340
Standard C++ provides no mechanism for this.  Standard C++ doesn't even assume there is a screen, much less contain any features for dealing with bitmaps.

In order to do this you will have t make use of Operating System-specific code.  That raises the question--What operating system do you need this for?

In windows you can use

HDC ScreenDC = CreateDC("DISPLAY",NULL,NULL,NULL);
HDC MemDC = CreateCompatibleDC(ScreenDC);
HBITMAP BitMap = CreateCompatibleBitmap(ScreenDC,GetSystemMetrics(SM_CXSCREEN),GetsystemMetrics(SM_CYSCREEN))
HBITMAP OldBmp = SelectObject(MemDC,BitMap);

BitBlt(MemDC,0,0,,GetSystemMetrics(SM_CXSCREEN),GetsystemMetrics(SM_CYSCREEN),ScreenDC,0,0,SRCCOPY);

SelectObject(MemDC,OldBmp);
DeleteDC(ScreenDC);
DeleteDC(MemDC);

The code creates a DC for the screen and a compatible one for a memory bitmap.  Then it creates a memory bitmap the same size as the screen.  It selects the memory bitmap into the memory DC.  Then it copies the screen's bitmap to the memory bitmap with BitBlt().   Then it cleans up by restoring the memory DC's original bitmap (important step!).  and deletes the two DCs.
0
 
LVL 14

Expert Comment

by:AlexVirochovsky
ID: 2649359
 WINCAP Captures Screens Using DIB API
http://support.microsoft.com/support/kb/articles/q97/1/93.asp

Create dib and save to disk.
0
 
LVL 14

Accepted Solution

by:
AlexVirochovsky earned 50 total points
ID: 2657118
I repete my reply:
  WINCAP Captures Screens Using DIB API
http://support.microsoft.com/support/kb/articles/q97/1/93.asp
Create dib and save to disk.
Alex


0
 
LVL 1

Author Comment

by:Viesturs
ID: 2660114
Spasibo. Primer skachal, tolko ne uspel posmotrets. :)
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

762 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now