VintaSoft Imaging .NET SDK 15.2: Документация для Веб разработчика
В этом разделе
Просматривайте DICOM-метаданные поверх изображения в веб DICOM-просмотрщике
В этом разделе
VintaSoft Web DICOM Viewer позволяет отображать текстовые наложения поверх изображения в веб DICOM-просмотрщике. Текстовое наложение представлено классом WebDicomTextOverlayJS и позволяет указать текст, привязку текста, формат текста, шрифт текста, видимость наложения.

Функция WebDicomViewerBaseControlJS.get_TextOverlays позволяет получить коллекцию, содержащую текстовые наложения, которые отображаются в DICOM просмотрщике.

Вот JavaScript-код, который демонстрирует, как добавить текстовое наложение с значением DICOM-тега в DICOM-просмотрщик:
/**
 Adds a text overlay with DICOM tag value to the DICOM viewer.
 @param {object} dicomControl An instance of Vintasoft.Imaging.Dicom.WebDicomControlJS class.
*/
function addTextOverlayWithDicomTagValueToDicomViewer(dicomControl) {
    // get DICOM viewer that is used in DICOM control
    var dicomViewerControl = dicomControl.get_DicomViewerControl();

    // get file metadata from DICOM image
    var fileMetadata = dicomViewerControl.get_FocusedImage().get_FileMetadata();

    // zero-based index of metadata element
    var metadataElementIndex = 1;
    // get metadata element
    var metadataElement = fileMetadata[metadataElementIndex];
    // get element identifier
    var medataElementId = metadataElement.get_ElementId();

    // create anchor that defines position of text overlay
    var anchor = new Vintasoft.Imaging.Primitives.WebAnchorTypeEnumJS("Top");

    // create text overlay for metadata element
    var textOverlay = new Vintasoft.Imaging.Dicom.WebDicomMetadataTextOverlayJS(anchor, medataElementId);

    // get the text overlay collection that is used by DICOM viewer
    var textOverlayCollection = dicomViewerControl.get_TextOverlays();
    // add text overlay to the text overlay collection
    textOverlayCollection.add(textOverlay);

    // redraw DICOM viewer
    dicomViewerControl.update();
}



Вот JavaScript-код, который демонстрирует, как добавить текстовое наложение с статическим текстом в DICOM-просмотрщик:
/**
 Adds a text overlay with static text to the DICOM viewer.
 @param {object} dicomControl An instance of Vintasoft.Imaging.Dicom.WebDicomControlJS class.
*/
function addTextOverlayWithStaticTextToDicomViewer(dicomControl) {
    // get DICOM viewer that is used in DICOM control
    var dicomViewerControl = dicomControl.get_DicomViewerControl();

    // create anchor that defines position of text overlay
    var anchor = new Vintasoft.Imaging.Primitives.WebAnchorTypeEnumJS("Top");

    // create text overlay
    var textOverlay = new Vintasoft.Imaging.Dicom.WebDicomTextOverlayJS(anchor);

    // set text for text overlay
    textOverlay.set_Text("Test");

    // get the text overlay collection that is used by DICOM viewer
    var textOverlayCollection = dicomViewerControl.get_TextOverlays();
    // add text overlay to the text overlay collection
    textOverlayCollection.add(textOverlay);

    // redraw DICOM viewer
    dicomViewerControl.update();
}



Вот JavaScript-код, который демонстрирует, как изменить текстовое наложение в DICOM-просмотрщике:
/**
 Changes a text overlay in DICOM viewer.
 @param {object} dicomControl An instance of Vintasoft.Imaging.Dicom.WebDicomControlJS class.
*/
function changeOverlayTextInDicomViewer(dicomControl) {
    // get DICOM viewer that is used in DICOM control
    var dicomViewerControl = dicomControl.get_DicomViewerControl();

    // get text overlay collection
    var textOverlayCollection = dicomViewerControl.get_TextOverlays();

    // zero-based index of overlay element that shoud be changed
    var overlayElementIndex = 9;
    var overlayElement = textOverlayCollection.getItem(overlayElementIndex);


    // set new position for overlay
    overlayElement.set_Anchor(new Vintasoft.Imaging.Primitives.WebAnchorTypeEnumJS("TopLeft"));

    // set new text for overlay
    overlayElement.set_Text("Test");


    // create new font properties for overlay text

    var fontName = "Calibri";
    var fontSize = 20;
    var fontColor = "rgb(255,0,0)";
    var isBold = false;
    var isItalic = false;
    var isUnderline = false;
    var isStrikeout = false;

    var fontProperties = overlayElement.get_FontProperties();
    if (fontProperties != null) {
        isBold = fontProperties.get_IsBold();
        isItalic = fontProperties.get_IsItalic();
        isUnderline = fontProperties.get_IsUnderline();
        isStrikeout = fontProperties.get_IsStrikeout();
    }

    fontProperties = new Vintasoft.Imaging.Dicom.WebVintasoftFontPropertiesJS(fontName, fontSize, fontColor, isBold, isItalic, isUnderline, isStrikeout);
    // set new font properties for overlay
    overlayElement.set_FontProperties(fontProperties);


    // redraw DICOM viewer
    dicomViewerControl.update();
}



Вот JavaScript-код, который демонстрирует, как удалить текстовые наложения из DICOM-просмотрщика:
/**
 Removes text overlays from DICOM viewer.
 @param {object} dicomControl An instance of Vintasoft.Imaging.Dicom.WebDicomControlJS class.
*/
function removeTextOverlaysFromDicomViewer(dicomControl) {
    // get DICOM viewer that is used in DICOM control
    var dicomViewerControl = dicomControl.get_DicomViewerControl();

    // get the text overlay collection that is used by DICOM viewer
    var textOverlayCollection = dicomViewerControl.get_TextOverlays();

    // zero-based index of text overlay that must be removed from the text overlay collection
    var overlayElementIndex = 9;
    // get overlay element
    var overlayElement = textOverlayCollection.getItem(overlayElementIndex);
    // remove overlay element from the text overlay collection
    textOverlayCollection.remove(overlayElement);

    // zero-based index of overlay element that must be removed from the text overlay collection
    overlayElementIndex = 10;
    // remove overlay element by index
    textOverlayCollection.removeAt(overlayElementIndex);

    // redraw DICOM viewer
    dicomViewerControl.update();
}