===== ImageID_GetIndirect =====
==== синтаксис ====
int ImageID_GetIndirect(void * buf_image,
int size,
int __NULL,
wchar_t * image_type,
wchar_t * imageID);
==== описание ====
функция формирует ''imageID'' для картинки находящейся в буфере. Данный ''imageID'' в дальнейшем можно использовать для вывода графики на экран.\\
После создания ''imageID'' буфер освобождать не нужно, он освободится вместе с ''imageID''.\\
После окончания использования необходимо освобождать ''imageID'' при помощи [[ImageID_Free]].
==== параметры ====
**buf_image** - буфер содержащий картинку, для которой необходимо создать imageID
**size** - размер картинки, находящейся в буфере (в байтах)
**__NULL** - 0
**image_type** - указатель на строку с типом картинки, находящейся в буфере (jpg, gif, png, bmp)
**imageID** - сюда будет положен imageID
==== возвращаемое значение ====
**0** - функция выполнена успешно
**не 0** - произошла ошибка во время выполнения функции
==== пример ====
int f;
char cover_type;
int size;
int cover_offset;
wchar_t imageID;
wchar_t cover_ext[4];
imageID=NOIMAGE;
void * MetaData_Desc = MetaData_Desc_Create(L"/card/music",L"audio.mp3");
if (MetaData_Desc_GetCoverInfo(MetaData_Desc,&cover_type,&size,&cover_offset))
{
if (cover_type<=3)
{
switch(cover_type)
{
case 0:
wstrcpy(cover_ext,L"jpg");
break;
case 1:
wstrcpy(cover_ext,L"gif");
break;
case 2:
wstrcpy(cover_ext,L"png");
break;
case 3:
wstrcpy(cover_ext,L"bmp");
break;
}
if (f=_fopen(L"/card/music",L"audio.mp3",0x1,0x180,0x0)>=0)
{
if (lseek(f,cover_offset,0)>=0)
{
char * my_buf=new char[size];
fread(f,my_buf,size);
ImageID_GetIndirect(my_buf,size,0,cover_ext,&imageID);
}
fclose(f);
}
}
}
......
MetaData_Desc_Destroy(MetaData_Desc);
==== см. также ====
[[ImageID_Get]], [[ImageID_Free]]