iTextSharp.text.pdf.codec.PngImage.SetPixel C# (CSharp) Метод

SetPixel() статический приватный Метод

static private SetPixel ( byte image, int data, int offset, int size, int x, int y, int bitDepth, int bytesPerRow ) : void
image byte
data int
offset int
size int
x int
y int
bitDepth int
bytesPerRow int
Результат void
        static void SetPixel(byte[] image, int[] data, int offset, int size, int x, int y, int bitDepth, int bytesPerRow)
        {
            if (bitDepth == 8) {
                int pos = bytesPerRow * y + size * x;
                for (int k = 0; k < size; ++k)
                    image[pos + k] = (byte)data[k + offset];
            }
            else if (bitDepth == 16) {
                int pos = bytesPerRow * y + size * x;
                for (int k = 0; k < size; ++k)
                    image[pos + k] = (byte)(data[k + offset] >> 8);
            }
            else {
                int pos = bytesPerRow * y + x / (8 / bitDepth);
                int v = data[offset] << (8 - bitDepth * (x % (8 / bitDepth))- bitDepth);
                image[pos] |= (byte)v;
            }
        }