public static unsafe byte *PonierzMonohormatyczny(Bitmap Obraz)
        {
            IntPtr mr = Marshal.AllocHGlobal(Obraz.Width * Obraz.Height);

            OperacjeNaStrumieniu.Czyść((bool *)mr, Obraz.Width * Obraz.Height);
            byte *obsugiwana = (byte *)mr;

            int        j  = 0;
            BitmapData bp = Obraz.LockBits(new Rectangle(0, 0, Obraz.Width, Obraz.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);

            for (int y = 0; y < Obraz.Height; y++)
            {
                rgb *kr = (rgb *)((byte *)(bp.Scan0 + y * bp.Stride));
                for (int x = 0; x < Obraz.Width; x++, kr++, obsugiwana++)
                {
                    j  = (*kr).r;
                    j += (*kr).g;
                    j += (*kr).b;
                    byte zw         = ((byte)(j / 3));
                    *    obsugiwana = zw;
                }
            }
            Obraz.UnlockBits(bp);
            return((byte *)mr);
        }
 unsafe static public void ObrótPlus90(byte *c, ref Size s)
 {
     OperacjeNaStrumieniu.ObrótY(c, s);
     OperacjeNaStrumieniu.Translacja(c, ref s);
 }
 unsafe static public void Obrót180(byte *c, Size s)
 {
     OperacjeNaStrumieniu.ObrótX(c, s);
     OperacjeNaStrumieniu.ObrótY(c, s);
 }