Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Transparencia DirectX archivos PNG

Iniciado por drakmer64, 20 de Junio de 2010, 01:13:36 PM

« anterior - próximo »

drakmer64

Cargo una imagen PNG con D3DXCreateTextureFromFileEx (...) que ya tiene transparencia, con que función de directx que al darle las coordenadas x,y de la imagen, me retorne TRUE o FALSE si ese punto de la imagen es transparente o tiene color.

blau

supongo que mas bien tendras que comprobar el canal alfa, ya sabes eso de RGBA

[EX3]

No existe ninguna funcion concreta de DirectX para obtener el color de un pixel directamente, hay programarlo pero no es demasiado complicado. Para poder leer los pixeles de una textura o una superficie tienes que bloquear su informacion mediante la funcion LockRect() de la textura o superficie pasandole una estructura D3DLOCKED_RECT que contendra un array con la informacion de los pixeles y el Picth que lo usaras para determinar el ancho de la textura o superficie a la hora de recorrer el array leyendo los componentes de color. El array que contiene la estructura almacenara cada pixel en 4 indices, esto es, que los cuatro primeros indices del array corresponden al valor RGBA del primer pixel.

Si buscas por google deberia aparecer algun tutorial sobre el uso de la funcion LockRect() para la lectura de pixeles que te lo explique algo mas detalladamente pero con lo brevemente explicado arriba supongo que deberias lograr implementarlo sin muchos problemas.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.