Страница: 1 |
Страница: 1 |
Вопрос: Не понимаю в чем ошибся...DevIL
Добавлено: 21.05.11 22:19
Автор вопроса: Лёха | Web-сайт:
вот код
ilInit();
ILuint * Texture = new ILuint;
ilGenImages(1, Texture);
ilBindImage(*Texture);
bool p = ilLoadImage("panda.jpg");
int w = ilGetInteger(IL_IMAGE_WIDTH);
int h = ilGetInteger(IL_IMAGE_HEIGHT);
int bpp = ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
int type = ilGetInteger(IL_IMAGE_TYPE);
int fmt = ilGetInteger(IL_IMAGE_FORMAT);
int dpt = ilGetInteger(IL_IMAGE_DEPTH);
unsigned char * data = ilGetData();
unsigned char * data1 = new unsigned char[w*h*bpp];
memcpy(data1, data, w * h * bpp * sizeof(unsigned char));
ilDeleteImages(1, Texture);
//Тут я проделываю некоторые действия с data1
ILuint * img = new ILuint;
ilGenImages(1, img);
ilBindImage(*img);
ilSetInteger(IL_IMAGE_WIDTH, w);
ilSetInteger(IL_IMAGE_HEIGHT, h);
ilSetInteger(IL_IMAGE_BYTES_PER_PIXEL, bpp);
ilSetInteger(IL_IMAGE_TYPE, type);
ilSetInteger(IL_IMAGE_FORMAT, fmt);
ilSetInteger(IL_IMAGE_DEPTH, dpt);
ilSetData(data1);
ilSave(IL_JPG, "panda_1.jpg");
после того,как я,допустим применял граф. фильтр,мне надо сохранить картинку в файл.Она то сохранеется,но размером 1х1.В чем проблема?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Ким Чен Ир
Вопросов: 0
Ответов: 140
Профиль | | #1
Добавлено: 22.05.11 03:40
Судя по документации к этой дури, ilSetInteger не комплементарна ilGetInteger и не допускает в своем параметре IL_IMAGE_ТРАЛЯЛЯ. Посему создается по умолчанию битмап 1х1, а о не верном вызове ilSetInteger могла бы сообщить ilGetError, если бы ее спросили. Короче, юзай ilTexImage.
Номер ответа: 2
Автор ответа:
Лёха
Вопросов: 20
Ответов: 79
Web-сайт:
Профиль | | #2
Добавлено: 22.05.11 10:04
спасибо,попробую