DicomObjects.NET.8.48 Documentation
DicomObjects Namespace / DicomImage Class / SubImage Method / SubImage(Point,Size,Single,Int32) Method

The left top corner point of the sub Image

The total size of the original image to capture

The zooming factor which determines the output size

The frame number to use. This is 1-index, i.e. first frame is 1 not 0

Example

In This Topic
    SubImage(Point,Size,Single,Int32) Method
    In This Topic
    Creates a copy of part or all of the image with controlled size
    Syntax
    'Declaration
     
    
    Public Overloads Function SubImage( _
       ByVal Offset As System.Drawing.Point, _
       ByVal Size As System.Drawing.Size, _
       ByVal Magnification As System.Single, _
       ByVal Frame As System.Integer _
    ) As DicomImage
    public DicomImage SubImage( 
       System.Drawing.Point Offset,
       System.Drawing.Size Size,
       System.float Magnification,
       System.int Frame
    )

    Parameters

    Offset

    The left top corner point of the sub Image

    Size

    The total size of the original image to capture

    Magnification

    The zooming factor which determines the output size

    Frame

    The frame number to use. This is 1-index, i.e. first frame is 1 not 0

    Return Value

    Remarks
    Makes a derived image (of same basic DICOM type as the original) scaled and cropped as required. Unlike PrinterImage, the pixel data is not modified or scaled, and XSize and YSize refer to the final image size, not the input (useful for making fixed size thumbnails etc.) If the original image is flipped and/or rotated, then the SubImage will be similarly modified, and the coordinates used for the offsets and sizes apply in the rotated/flipped coordinate space. This makes it simple to select sub-images using a GUI, as the coordinates used for SubImage are compatible with those used for an "ImageTied" DicomLabel.
    Example
    DicomImage image = new DicomImage("your_dicom_image.dcm");
                        
    Point offset = new Point(0, 0); // top-left corner
    var width = image.Size.Width;
    var height = image.Size.Height; 
    Size size = new Size(width, height);
                        
    float magnification = 2F;
    int frame = 1;
                        
    var copiedImage = image.SubImage(offset, size, magnification, frame);
        
    // optionally write new image to disk
    copiedImage.Write("copied_image.dcm");
    Requirements

    Target Platforms: .NET CLR 4.8 or higher

    See Also