c++ - reales - Mi programa de mapa de bits OpenGL se está bloqueando?
libro de android studio en español pdf (1)
También necesita configurar un contexto OpenGL para que esto funcione. Mira esto: https://www.opengl.org/wiki/Creating_an_OpenGL_Context_(WGL)
Estoy usando OpenGL y la biblioteca de mapas de bits en http://partow.net/programming/bitmap/ para hacer que un programa cargue un mapa de bits en mi pantalla. Lo hice para cargar un mapa de bits en mi pantalla, pero cuando trato de usar px y py (desde GetCursorPos) para cargar una imagen en la posición del cursor, la aplicación falla. Aquí está mi código:
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", p.x, p.y, 1340, 678);
}
}
Estoy usando Dev C ++ en Windows 7. ¡Gracias!