fire64
06.05.2009, 19:11
нужна помощь с DevIL
дело в том что код написан под 24 битную картинку, а мне нужна 8 битная
// DevIL likes the image data upside down.
FlipImage(lpImageData, vlImageGetWidth(), vlImageGetHeight(), DestFormat == IMAGE_FORMAT_RGBA8888 ? 4 : 3);
// Create a new image with the converted image data in DevIL.
if(!ilTexImage(vlImageGetWidth(), vlImageGetHeight(), 1, DestFormat == IMAGE_FORMAT_RGBA8888 ? 4 : 3, DestFormat == IMAGE_FORMAT_RGBA8888 ? IL_RGBA : IL_RGB, IL_UNSIGNED_BYTE, lpImageData))
{
free(lpImageData);
printf(" Error creating %s file.\n\n", lpExportFormat);
return;
}
если я делаю
FlipImage(lpImageData, vlImageGetWidth(), vlImageGetHeight(), 1);
и
if(!ilTexImage(vlImageGetWidth(), vlImageGetHeight(), 1, 1, IL_RGBA, IL_UNSIGNED_BYTE, lpImageData))
то картинка получается 8 битная, но при этом с испорченным изображением
дело в том что код написан под 24 битную картинку, а мне нужна 8 битная
// DevIL likes the image data upside down.
FlipImage(lpImageData, vlImageGetWidth(), vlImageGetHeight(), DestFormat == IMAGE_FORMAT_RGBA8888 ? 4 : 3);
// Create a new image with the converted image data in DevIL.
if(!ilTexImage(vlImageGetWidth(), vlImageGetHeight(), 1, DestFormat == IMAGE_FORMAT_RGBA8888 ? 4 : 3, DestFormat == IMAGE_FORMAT_RGBA8888 ? IL_RGBA : IL_RGB, IL_UNSIGNED_BYTE, lpImageData))
{
free(lpImageData);
printf(" Error creating %s file.\n\n", lpExportFormat);
return;
}
если я делаю
FlipImage(lpImageData, vlImageGetWidth(), vlImageGetHeight(), 1);
и
if(!ilTexImage(vlImageGetWidth(), vlImageGetHeight(), 1, 1, IL_RGBA, IL_UNSIGNED_BYTE, lpImageData))
то картинка получается 8 битная, но при этом с испорченным изображением