I use OpenGL and the bitmap library at http://partow.net/programming/bitmap/ so that the program loads the bitmap on my screen. I did this to load the bitmap on my screen, but when I try to use px and py (From GetCursorPos) to load the image at the cursor position, the application will work. Here is my code:
void Image(HDC hDC, string File_Name, int x_position, int y_position, int length, int height) // Image() { File_Name = "C:/Users/David/Pictures/" + File_Name + ".bmp"; // add a full path to the file name bitmap_image image(File_Name); // Open the bitmap unsigned char red; unsigned char green; unsigned char blue; restart: image.get_pixel(x_position, y_position, red, green, blue); // Get the red green and blue from x_position and y_position and store it in red green and blue. glBegin (GL_TRIANGLES); // Make a pixel at x_position and y_position with red green and blue. glColor3ub (red, green, blue); glVertex2f (-1 + 0.0015 * x_position, 1 - 0.003 * y_position); glVertex2f (-1 + 0.0015 * x_position, 0.997 - 0.003 * y_position); glVertex2f (-0.9985 + 0.0015 * x_position, 1 - 0.003 * y_position); glEnd(); glBegin (GL_TRIANGLES); glColor3ub (red, green, blue); glVertex2f (-1 + 0.0015 * x_position, 0.997 - 0.003 * y_position); glVertex2f (-0.9985 + 0.0015 * x_position, 1 - 0.003 * y_position); glVertex2f (-0.9985 + 0.0015 * x_position, 0.997 - 0.003 * y_position); glEnd(); if (x_position==length) // If x_position equals to length of bmp set x_position to 0 and add 1 to y_position. { if (y_position==height) // If bmp is done loading go to done. { goto done; } x_position = 0; y_position = y_position + 1; } x_position = x_position + 1; goto restart; done: SwapBuffers(hDC); // Put it on the screen } int main() // int main() { POINT p; if(GetCursorPos(&p)) { Image(hDC, "Image", px, py, 1340, 678); } }
I am using Dev C ++ on Windows 7. Thanks!
wdt12 source share