Así que he creado este programa para un juego y necesito ayuda para hacerlo un poco más automático.C++ Image Manipulation
El programa toma una imagen y luego la muestra. Estoy haciendo esto sobre texturas en OpenGL. Cuando tomo la captura de pantalla del juego, suele ser algo así como 700x400. Ingresé la altura y el ancho en mi programa, cambio el tamaño de la imagen a 1024x1024 (convirtiéndola en una textura POT para una mejor compatibilidad) agregando espacio en blanco (la imagen original se queda en la esquina superior izquierda y llega hasta (700,400) y el el resto está en blanco, ¿alguien sabe el término para esto?) y luego lo carga en mi programa y ajusta las esquinas para que solo se muestre la parte de (0,0) a (700,400).
Así es como manejo la visualización de la imagen. Ahora, me gustaría hacer esto automático. Así que tomaría una imagen de 700x400, la pasaría al programa que obtendría el ancho y alto de la imagen (700x400), lo redimensionaría a 1024x1024 agregando espacio en blanco y luego lo cargaría.
Entonces, ¿alguien sabe una biblioteca C++ capaz de hacer esto? Todavía estaría tomando la captura de pantalla manualmente.
Estoy usando la Librería de Imágenes Simple OpenGL (SOIL) para cargar la imagen (.bmp) y convertirla en una textura.
Gracias!
"Se puede cambiar automáticamente la escala de la imagen al siguiente tamaño más grande de la potencia de dos" - Realmente extrañaba la palabra "automáticamente". : D Voy a intentar lo que dijiste. ¡Gracias! – Tuntuni
He intentado cargarlo sin cambiar el tamaño, pero resulta extraño. Estoy bastante seguro de que mis rincones están en su lugar. La imagen también se vuelve en escala de grises y, a medida que lo escala, recupera parte del color. ¿Podría darme cualquier modelo de SOIL_load_image y glDrawPixels, o un enlace? Gracias. – Tuntuni
Quizás intente 'SOIL_FLAG_POWER_OF_TWO' o' SOIL_FLAG_TEXTURE_RECTANGLE'. –