24位无压缩的tga除开R8G8B8,还有别的格式? 为什么提取出来的像素有一部分是花的

24位无压缩的tga除了R8G8B8,还有别的格式?? 为什么提取出来的像素有一部分是花的?
首先这个颜色类型码是2,就是无压缩的图像,然后像素位数是24位
我是这样提取RGB的:
C/C++ code

BYTE* pBmp24 = (BYTE*)malloc(bmpSize);
fread(pBmp24, bmpSize, 1, pFile);

BYTE* pSrc = pBmp24;
BYTE* pDst = pOutBmp;

for (int i=0; i<pixelCount; i++)
{
    *pDst++ = *pSrc++;    // b
    *pDst++ = *pSrc++;    // g
    *pDst++ = *pSrc++;    // r
    *pDst++ = 255;        // alpha
}

free(pBmp24);



这代码有问题么?
为什么提取出来后,一部分图像正常,一部分却是花的?
你们都是怎么解24位像素的?

------解决方案--------------------
你测试的图像的宽度是多少像素。