public bool MaintainAnnotationObjectAspectRatio { get; set; }
true to maintain the aspect ratio; otherwise, false.
This value is useful when resize the symmetrical annotation objects like rectangle, ellipse, hilite, etc.
using Leadtools;
using Leadtools.Drawing;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.ImageProcessing;
using Leadtools.Annotations.Engine;
using Leadtools.Annotations.Designers;
using Leadtools.Annotations.Rendering;
class MedicalViewerSubCellForm : Form
{
private MedicalViewer _medicalViewer;
void MedicalViewerForm_SizeChanged(object sender, EventArgs e)
{
_medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
}
public MedicalViewerSubCellForm()
{
RasterCodecs _codecs = new RasterCodecs();
RasterImage _image;
this.SizeChanged += new EventHandler(MedicalViewerForm_SizeChanged);
// Create the medical viewer and adjust the size and the location.
_medicalViewer = new MedicalViewer(1, 2);
_medicalViewer.Location = new Point(0, 0);
_medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
// Load an image and then add it to the control.
_image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"));
MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1);
// add some actions that will be used to change the properties of the images inside the control.
cell.AddAction(MedicalViewerActionType.WindowLevel);
cell.AddAction(MedicalViewerActionType.Alpha);
cell.AddAction(MedicalViewerActionType.Offset);
// assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);
_medicalViewer.Cells.Add(cell);
// adjust some properties of the cell and add some tags.
_medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
_medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
_medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
_medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
_medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);
// Load another image and then add it to the control.
_image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "mr.dcm"));
_medicalViewer.Cells.Add(new MedicalViewerMultiCell(_image, true, 2, 2));
// add some actions that will be used to change the properties of the images inside the control.
_medicalViewer.Cells[1].AddAction(MedicalViewerActionType.WindowLevel);
_medicalViewer.Cells[1].AddAction(MedicalViewerActionType.Alpha);
_medicalViewer.Cells[1].AddAction(MedicalViewerActionType.Offset);
// assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
_medicalViewer.Cells[1].SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
_medicalViewer.Cells[1].SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
_medicalViewer.Cells[1].SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);
// adjust some properties of the cell and add some tags.
_medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
_medicalViewer.Cells[1].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
_medicalViewer.Cells[1].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
_medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
_medicalViewer.Cells[1].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);
Controls.Add(_medicalViewer);
_medicalViewer.Dock = DockStyle.Fill;
}
public MedicalViewer Viewer
{
get { return _medicalViewer; }
}
}
MedicalViewerForm13 GetMedicalControlForSubCellExample()
{
return new MedicalViewerForm13();
}
public void MedicalViewerSubCellExample()
{
MedicalViewerForm13 myForm = GetMedicalControlForSubCellExample();
MedicalViewer medicalViewer = myForm.Viewer;
MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]);
// This shows the rotation handle of the annotation objects.
cell.ShowRotationHandle = true;
cell.MaintainAnnotationObjectAspectRatio = true;
cell.MaintainAnnotationThickness = true;
AnnRectangleObject rectangleObject = new AnnRectangleObject();
rectangleObject.Rect = LeadRectD.Create(100, 100, 100, 100);
rectangleObject.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create(Color.Red.Name), LeadLengthD.Create(5));
cell.SubCells[0].AnnotationContainer.Children.Add(rectangleObject);
// repaint the annotation of the first sub-cell (index = 0).
cell.RefreshAnnotation(0);
myForm.ShowDialog();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document