private unsafe void copyData(BitmapData srcData, int srcX, int srcY, BitmapData destData, int destX, int destY, int width, int height,int bpp)
{
for (int y = 0; y < height && y + srcY < srcData.Height; y++)
{
int srcRow = (srcY + y) * srcData.Stride;
int destRow = y * destData.Stride;
for (int x = 0; x < width && srcX + x < srcData.Width; x++)
{
byte* srcPixel = ((byte*)(srcData.Scan0)) + srcRow + ((srcX + x) * bpp);
byte* destPixel = ((byte*)(destData.Scan0)) + destRow + (x * bpp);
for (int k = 0; k < bpp; k++)
*destPixel++ = *srcPixel++;
}
}
}