Programación Específica => Programación de Videojuegos => DirectX => Mensaje iniciado por: cqbotester en Lunes 4 de Diciembre de 2006, 21:44
Título: Obtener Las Dimensiones De Una Imagen
Publicado por: cqbotester en Lunes 4 de Diciembre de 2006, 21:44
Hola a todos, tengo la siguiente duda y espero puedan ayudarme.
Estoy utilizando C# y Directx SDK 9. Al momento de cargar una textura en memoria a partir de un archivo (un PNG) me gustaría saber las dimensiones del archivo de imagen. Por ejemplo si tengo un png de 600x200 me gustaría obtener esos numeros en tiempo de ejecución. Leyendo un e-book por ahí pensé que el siguiente código solucionaba el problema:
using (Surface s = spriteTexture.GetSurfaceLevel(0))
{
SurfaceDescription desc = s.Description;
textureSize = new Rectangle(0, 0, desc.Width, desc.Height);
}
Me imaginaba que obteniendo una descripción de la textura y luego sus dimensiones estaba listo. Pero me dan otras dimensiones que no concuerdan con las del archivo por lo que al parecer no era por ahí la solución.
Ojalá alguien me ayudara, lo más probable es que exista una property que no he revisado. Desde ya muchas gracias.
Título: Re: Obtener Las Dimensiones De Una Imagen
Publicado por: JuanK en Miércoles 6 de Diciembre de 2006, 13:47
En teoria estas tienen que ser.
desc.Width, desc.Height
Título: Re: Obtener Las Dimensiones De Una Imagen
Publicado por: HalfVector en Sábado 23 de Diciembre de 2006, 17:29
Cita de: "cqbotester"
Me imaginaba que obteniendo una descripción de la textura y luego sus dimensiones estaba listo. Pero me dan otras dimensiones que no concuerdan con las del archivo por lo que al parecer no era por ahí la solución.
Hola.
¿Qué dimensiones te devuelve el descriptor de la textura?. Es posible que tu tarjeta no soporte texturas no potencia de dos y te la esté redimensionando automáticamente a la potencia de dos más próxima.