ActiveO2
Ensign
- Registriert
- Feb. 2009
- Beiträge
- 161
Hallo,
ich suche eine Möglichkeit ein Array mit Bildpixelwerten möglichst schnell darzustellen.
32Bit und 8Bit Farbformate sollten unterstützt werden.
Ich hoffe dass sich hier jemand finden lässt der schon Erfahrung mit SDl oder SFML machen konnte.
Mögliche Ansätze bisher:
SFML:
bzw.:
und:
SDL:
Für SDL habe ich bisher nur SDL_image gefunden. Aber soweit ich weiß unterstützt SDL_image nur bestimmte vorgegebene Formate
(.jpg, .gif, .bmp, ...)
Hoffentlich hat jemand eine Idee.
.
ich suche eine Möglichkeit ein Array mit Bildpixelwerten möglichst schnell darzustellen.
32Bit und 8Bit Farbformate sollten unterstützt werden.
Ich hoffe dass sich hier jemand finden lässt der schon Erfahrung mit SDl oder SFML machen konnte.
Mögliche Ansätze bisher:
SFML:
Code:
char* pImage; // enthält Pixelwerte
// set pImage..
sf::Image img( width, height, reinterpret_cast<sf::Uint8*> (pImage));
bzw.:
Code:
sf::Image img;
int nSize = width * height * bitsProPixel / 8;
sf::Uint8* pCopy = new sf::Uint8[nSize];
memset( pCopy, 0, nSize);
memcpy( pCopy, pImage, nSize);
img.LoadFromPixels( width, height, pCopy);
und:
Code:
sf::Image img( width, height, sf::Color(0,0,0,255));
sf::Color col;
int pix = 0;
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
col.b = pImage[pix];
pix++;
col.g = pImage[pix];
pix++;
col.r = pImage[pix];
pix++;
col.a = 255;
pix++;
img.SetPixel(x, y, col);
}
}
SDL:
Für SDL habe ich bisher nur SDL_image gefunden. Aber soweit ich weiß unterstützt SDL_image nur bestimmte vorgegebene Formate
(.jpg, .gif, .bmp, ...)
Hoffentlich hat jemand eine Idee.
.