Programación Específica > DirectX

 Obtener Las Dimensiones De Una Imagen

(1/1)

cqbotester:
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:


--- Código: Text ---// Crear la texturaspriteTexture = TextureLoader.FromFile(device, @"..\..\logo.png"); 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.

JuanK:
En teoria estas tienen que ser.

desc.Width, desc.Height

HalfVector:

--- 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.
--- Fin de la cita ---
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.

Saludos.

Navegación

[0] Índice de Mensajes

Ir a la versión completa