Dicom.Imaging.Render.OverlayGraphic.Render C# (CSharp) Method

Render() public method

public Render ( int pixels, int width, int height ) : void
pixels int
width int
height int
return void
        public void Render(int[] pixels, int width, int height)
        {
            byte[] data = null;

            if (_scaledData == null) {
                if (_scale == 1.0)
                    _scaledData = _originalData;
                else {
                    int w = (int)(_originalData.Width * _scale);
                    int h = (int)(_originalData.Height * _scale);
                    data = BilinearInterpolation.RescaleGrayscale(_originalData.Data, _originalData.Width, _originalData.Height, w, h);
                    _scaledData = new GrayscalePixelDataU8(w, h, data);
                }
            }

            data = _scaledData.Data;

            int ox = (int)(_offsetX * _scale);
            int oy = (int)(_offsetY * _scale);

            MultiThread.For(0, _scaledData.Height, y => {
                for (int i = _scaledData.Width * y, e = i + _scaledData.Width; i < e; i++) {
                    if (data[i] > 0) {
                        int p = (oy * width) + ox + i;
                        pixels[p] = _color;
                    }
                }
            });
        }