elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Simple tga writer no funciona correctamente.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Simple tga writer no funciona correctamente.  (Leído 788 veces)
Assasin92

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Simple tga writer no funciona correctamente.
« en: 11 Diciembre 2024, 11:01 am »

Hola. Escribí un código para escribir un simple archivo de formato tga.

Por desgracia, no parece funcionar como se esperaba. La imagen resultante es siempre negro, no importa los valores de color que escribo en el archivo. Aquí está el código:

Código:
#include <fstream>

using namespace std;

main () {
   int a = 1024;
   int b = 768;
   int c = 24;
   ofstream ofs ("x.tga", ios::binary);
         ofs.put (0), ofs.put (0), ofs.put (2), ofs.put (0), ofs.put (0), ofs.put (0);
         ofs.put (0), ofs.put (0), ofs.put (0), ofs.put (0), ofs.put (0), ofs.put (0);
         ofs.put (a), ofs.put (a >> 8), ofs.put (b), ofs.put (b >> 8);
         ofs.put (c),   ofs.put (0);   
   for (int i=0; i<a; i++)
      for (int j=0; j<b; j++)
         ofs.put (1),          ofs.put (0),          ofs.put (0);         
   ofs.close ();


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Simple tga writer no funciona correctamente.
« Respuesta #1 en: 11 Diciembre 2024, 13:44 pm »

https://en.wikipedia.org/wiki/Truevision_TGA

"Uncompressed 24-bit TGA images are relatively simple compared to several other prominent 24-bit storage formats: A 24-bit TGA contains only an 18-byte header followed by the image data as packed RGB data."

Código
  1. for (int i=0; i<a; i++)
  2.      for (int j=0; j<b; j++)
  3.         ofs.put (1),          ofs.put (0),          ofs.put (0);

Entonces tu codigo esta escribiendo 1, 0, 0 en RGB. Cambialo por 0, 128, 0 y veras solo verde por ejemplo.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No funciona internet correctamente « 1 2 »
Redes
Ganejash 10 6,533 Último mensaje 7 Septiembre 2010, 13:47 pm
por Silici0
SSLStrip no funciona correctamente
Hacking
sakun-ice 6 11,338 Último mensaje 25 Junio 2015, 16:32 pm
por Kaxperday
Me funciona correctamente Whonix
GNU/Linux
c4lic0j4ck 1 2,102 Último mensaje 22 Julio 2014, 18:36 pm
por #!drvy
Comprueba si Windows 10 está correctamente activado con este simple comando
Noticias
wolfbcn 0 1,350 Último mensaje 23 Marzo 2017, 18:39 pm
por wolfbcn
No funciona correctamente
Programación C/C++
perujo 1 1,738 Último mensaje 12 Agosto 2017, 17:52 pm
por josue9243
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines