예제 #1
0
        void OnTreeListCustomDrawNodeImages(object sender, CustomDrawNodeImagesEventArgs e)
        {
            TreeList   tree  = (TreeList)sender;
            IFileImage _item = (IFileImage)tree.GetRow(e.Node.Id);

            if (_item.Image == null)
            {
                return;
            }
            e.Cache.DrawImage(_item.Image, e.SelectImageLocation);
            e.Handled = true;
        }
예제 #2
0
        public bool RenderFileImage(ILUT lut, string saveToBmp)
        {
            if (this._applyLut && lut != null && !lut.IsValid)
            {
                lut.Recalculate();
            }
            IFileImage image = null;

            try
            {
                image = FileImageManager.CreateImage(this.ScaledWidth, this.ScaledHeight, saveToBmp);

                var pixels = image.Pixels;
                this.ScaledData.RenderToStream(this._applyLut ? lut : null, pixels);

                foreach (var overlay in this._overlays)
                {
                    //overlay.Render(pixels, this.ScaledWidth, this.ScaledHeight);
                    //overlay未实现RenderToStream,目前测试的dcm均不含overlay
                    throw new NotSupportedException();
                }

                image.Flush();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
            finally
            {
                if (image != null)
                {
                    image.Dispose();
                    image = null;
                }
            }
        }