Solved

Accessing Individual Pixels From A HBITMAP

Posted on 2001-07-15
4
871 Views
Last Modified: 2013-11-20
Hi

I have a HBITMAP, for which i would like to be able access inidividual pixel's RGB values .

How do i go about this?


The bits per pixel for the bitmap, isn't known its loaded by the user.

Cheers

Rich
0
Comment
Question by:RichJackson
  • 2
4 Comments
 
LVL 5

Expert Comment

by:FengYuan
Comment Utility
1) Use GetDIBits to convert it to a DIB and then read the pixels
2) Select into a memory DC, and then use GetPixel to read
0
 
LVL 6

Expert Comment

by:MichaelS
Comment Utility
You can create a memory DC, select your bitmap to it and than use functions GetPixel() and SetPixel(). But if you interested in speed than you will be disappointed :( This approach is easy to do but quite slow.

HDC hdc = CreateCompatibleDC(NULL);
SelectObject(hdc, hBitmpa);
COLORREF cr = GetPixel(hdc, 10, 10);

this code will give you RGB value of pixel (10, 10) in your bitmap.
0
 

Author Comment

by:RichJackson
Comment Utility
Hmmm, I am interested in the speed.  What's my other options.
0
 
LVL 6

Accepted Solution

by:
MichaelS earned 35 total points
Comment Utility
Than you have to go for GetDIBits() approach, you will get pointer to bitmap data itself. Than you have to analize which type of bitmap (actually DIB) are you diling with, colors, size and .... Than you can use direct pointers.

Take a look at
http://www.codeguru.com/bitmap/rotate_bitmap.shtml

and actually at
http://www.codeguru.com/bitmap
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

Suggested Solutions

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Introduction: Dialogs (1) modal - maintaining the database. Continuing from the ninth article about sudoku.   You might have heard of modal and modeless dialogs.  Here with this Sudoku application will we use one of each type: a modal dialog …
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

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

7 Experts available now in Live!

Get 1:1 Help Now