コード例 #1
0
ファイル: image.cpp プロジェクト: leighman/lightspark
uint8_t* ImageDecoder::decodePNG(std::istream& str, uint32_t* width, uint32_t* height)
{
	png_structp pngPtr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
	if (!pngPtr)
	{
		LOG(LOG_ERROR,"Couldn't initialize png read struct");
		return NULL;
	}
	png_set_read_fn(pngPtr,(void*)&str, ReadPNGDataFromStream);

	return decodePNGImpl(pngPtr, width, height);
}
コード例 #2
0
ファイル: image.cpp プロジェクト: lightspark/lightspark
uint8_t* ImageDecoder::decodePNG(uint8_t* inData, int len, uint32_t* width, uint32_t* height, bool* hasAlpha)
{
	png_structp pngPtr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
	if (!pngPtr)
	{
		LOG(LOG_ERROR,"Couldn't initialize png read struct");
		return NULL;
	}
	png_image_buffer b;
	b.data = inData;
	b.curpos = 0;
	png_set_read_fn(pngPtr,(void*)&b, ReadPNGDataFromBuffer);

	return decodePNGImpl(pngPtr, width, height,hasAlpha);
}