Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[FREEIMAGE]Problem z zapisem obrazu PNG

Ostatnio zmodyfikowano 2016-09-09 19:17
Autor Wiadomość
fokusx
Temat założony przez niniejszego użytkownika
[FREEIMAGE]Problem z zapisem obrazu PNG
» 2016-09-09 17:10:38
Witam,
próbuję w FreeImage stworzyć przykładowy obraz ale coś źle robię, kod:

main
C/C++
GLuint width = 400;
GLuint height = 500;
BYTE * pixels = new BYTE[ width * height * 3 ];
for( GLuint y = 0; y < height; ++y )
for( GLuint x = 0; x < width; ++x )
{
    if( x > 200 )
         pixels[( x + y * width ) * 3 ] = 0;
    else
         pixels[( x + y * width ) * 3 ] = 255;
   
    pixels[( x + y * width ) * 3 + 1 ] = 0;
    pixels[( x + y * width ) * 3 + 2 ] = 255;
}
Save( "test.png", width, height, pixels );
delete[] pixels;
std::cout << " Done!" << std::endl;

Funkcja Save
C/C++
void Save( const char * filename, const unsigned width, const unsigned height, BYTE * pixels, const unsigned bpp = 24, const FREE_IMAGE_FORMAT format = FIF_PNG )
{
    if( pixels == NULL )
         ErrorLog::Write( "Pusto" );
    else
    {
        FIBITMAP * Image = FreeImage_ConvertFromRawBits( pixels, width, height, 3, bpp, 0x0000FF, 0x00FF00, 0xFF0000, false );
        FreeImage_Save( format, Image, filename, 0 );
    }
}

W wyniku otrzymuję takie coś

Co jest źle?
Co oznacza "pitch"?
P-151589
fokusx
Temat założony przez niniejszego użytkownika
» 2016-09-09 19:17:26
Ok, doczytałem dokumentację i wiem już co oznacza "pitch", dzięki czemu obraz generuje się dobrze.
P-151591
« 1 »
  Strona 1 z 1