===== 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]]