private void LoadOverlays() { if (_DataSet.OverlayCount > 0) { for (int i = 0; i < _DataSet.OverlayCount; i++) { ImageViewerItem item = new ImageViewerItem(); item.Size = new LeadSize(100, 100); item.Zoom(ControlSizeMode.FitAlways, 1, _rasterImageList.DefaultZoomOrigin.ToLeadPointD()); RasterOverlayAttributes attribte = _DataSet.GetOverlayAttributes(0); if (attribte.FramesInOverlay > 1) { item.Image = _DataSet.GetOverlayImages(0, 0, attribte.FramesInOverlay); } else { // Add to image list item.Image = _rasterImageViewer.Image.GetOverlayImage(i, RasterGetSetOverlayImageMode.Copy); _rasterImageList.Items.Add(item); _rasterImageList.Items.Select(null); _rasterImageList.Items[i].IsSelected = true; // Add to Viewer _rasterImageViewer.Image.SetOverlayImage(i, item.Image, RasterGetSetOverlayImageMode.Copy); // Update Attributes RasterOverlayAttributes attributes = _rasterImageViewer.Image.GetOverlayAttributes(i, RasterGetSetOverlayAttributesFlags.Flags); attributes.AutoPaint = _mnuOverlaysShowOverlay.Checked; attributes.AutoProcess = true; attributes.Origin = new LeadPoint(0, 0); attributes.Color = new RasterColor(_overlayColor.R, _overlayColor.G, _overlayColor.B); attributes.Columns = item.Image.ImageWidth; attributes.Rows = item.Image.ImageHeight; attributes.BitsAllocated = 1; attributes.FramesInOverlay = item.Image.PageCount; attributes.ImageFrameOrigin = 1; attributes.Type = "G"; _rasterImageViewer.Image.UpdateOverlayAttributes(i, attributes, RasterGetSetOverlayAttributesFlags.Flags | RasterGetSetOverlayAttributesFlags.Origin | RasterGetSetOverlayAttributesFlags.Color | RasterGetSetOverlayAttributesFlags.Dicom); } } } else { MessageBox.Show("This dataset has no overlays.\nTo insert a new overlay, please select \"Overlays\\ Insert Overlay\" from the menu."); } }