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); }
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); }