private static int sample_rgba_to_rgb(byte[] data, int samplecount)
{
int[] data32 = Tiff.ByteArrayToInts(data, 0, samplecount * sizeof(int));
int i = 0;
for ( ; i < samplecount; i++)
{
int sample = data32[i];
byte alpha = (byte)(255 - ((sample >> 24) & 0xff));
data[i * 3] = (byte)(((sample >> 16) & 0xff) + alpha);
data[i * 3 + 1] = (byte)(((sample >> 8) & 0xff) + alpha);
data[i * 3 + 2] = (byte)((sample & 0xff) + alpha);
}
return (i * 3);
}