Ejemplo n.º 1
0
        private DrawLightData InitDrawLightData()
        {
            DrawLightData drawLightData = new DrawLightData();

            drawLightData.pixelFormat = PixelFormat.Format32bppArgb;
            drawLightData.rectangle   = new Rectangle(0, 0, Light.Width, Light.Height);
            drawLightData.bmpData     = Light.LockBits(drawLightData.rectangle,
                                                       ImageLockMode.WriteOnly, drawLightData.pixelFormat);
            drawLightData.ptr      = drawLightData.bmpData.Scan0;
            drawLightData.numBytes = drawLightData.bmpData.Stride * Light.Height;
            return(drawLightData);
        }
Ejemplo n.º 2
0
        public void LoadLightIntoBitMap(List <LightingUnit> ActivatedLightingUnitsOnUser)
        {
            byte minTrasnparency = 200;

            _drawLightData = InitDrawLightData();
            byte[] rgbValues = new byte[_drawLightData.numBytes];

            Marshal.Copy(_drawLightData.ptr, rgbValues, 0, _drawLightData.numBytes);
            InitRGBValues(_drawLightData.numBytes, minTrasnparency, ref rgbValues);

            SetTransparency(ActivatedLightingUnitsOnUser, rgbValues, minTrasnparency);

            Marshal.Copy(rgbValues, 0, _drawLightData.ptr, _drawLightData.numBytes);
            Light.UnlockBits(_drawLightData.bmpData);
        }