VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
В этом разделе
    WANG-аннотации
    В этом разделе
    SDK преобразует Vintasoft-аннотации в WANG-аннотации, когда Vintasoft-аннотации сохраняются в WANG-формате. К сожалению, WANG-формат поддерживает лишь ограниченный набор типов и свойств аннотаций, поэтому не все Vintasoft-аннотации и/или их свойства могут быть преобразованы в WANG-формат без существенных изменений. Некоторые типы Vintasoft-аннотаций не сопоставимы с WANG-форматом, равно как и некоторые свойства аннотаций не имеют аналогов WANG, поэтому эти аннотации и подобные свойства не могут быть сохранены в WANG. Также некоторые значения некоторых свойств аннотаций могут привести к критическим изменениям внешнего вида аннотаций при сохранении в WANG-формате; из-за этого такие аннотации также невозможно сохранить в WANG-формате. В остальных случаях при конвертации в WANG алгоритм автоматически выбирает наиболее похожие типы аннотаций и их свойства, чтобы оставить внешний вид аннотаций после сохранения или загрузки без существенных изменений.


    Сохранение Vintasoft-аннотаций в WANG-пакет

    Вот список аннотаций, которые можно сохранить в WANG-пакет:
    1. Не повернутая (AnnotationData.Rotation == 0) прямоугольная аннотация (RectangleAnnotationData) с заливкой прозрачным цветом ( * ) и границей (AnnotationData.Border == true) будет сохранена как WANG-аннотацию "Hollow rectangle".
    2. Не повернутая (AnnotationData.Rotation == 0) прямоугольная аннотация (RectangleAnnotationData) с заливкой не прозрачным цветом ( * ) и без границы (AnnotationData.Border == false) будет сохранена как WANG-аннотация "Filled rectangle".
    3. Повернутая (AnnotationData.Rotation != 0) прямоугольная аннотация (RectangleAnnotationData) с заливкой прозрачным цветом ( * ) и границей (AnnotationData.Border == true) будет сохранен как WANG-аннотация "Hollow polygon"; прямоугольник будет аппроксимирован многоугольником.
    4. Повернутая (AnnotationData.Rotation != 0) прямоугольная аннотация (RectangleAnnotationData) с заливкой не прозрачным цветом ( * ) и без границы (AnnotationData.Border == false) будет сохранена как WANG-аннотация "Filled polygon"; прямоугольник будет аппроксимирован многоугольником.
    5. Эллипс-аннотация (EllipseAnnotationData) с заливкой прозрачным цветом ( * ) и границей (AnnotationData.Border == true) будет сохранена как WANG-аннотация "Hollow polygon"; эллипс будет аппроксимирован многоугольником.
    6. Эллипс-аннотация (EllipseAnnotationData) с заливкой не прозрачным цветом ( * ) и без границы (AnnotationData.Border == false) будет сохранена как WANG- аннотация "Filled polygon"; эллипс будет аппроксимирован многоугольником.
    7. Не повернутая (AnnotationData.Rotation == 0) ссылка-аннотация (LinkAnnotationData) с границей (AnnotationData.Border == true) будет сохранена как WANG-аннотация "Attach-a-note".
    8. Не повернутая (AnnotationData.Rotation == 0) ссылка-аннотация (LinkAnnotationData) без границы (AnnotationData.Border == false) будет сохранена как WANG-аннотация "Typed text".
    9. Не повернутая (AnnotationData.Rotation == 0) текстовая аннотация (TextAnnotationData) с границей (AnnotationData.Border == true) будет сохранена как WANG-аннотация "Attach-a-note".
    10. Не повернутая текстовая аннотация (TextAnnotationData) без границы (AnnotationData.Border == false) будет сохранена как WANG-аннотация "Typed text".
    11. Не повернутая подсветка-аннотация (HighlightAnnotationData) будет сохранена как WANG-аннотация "Filled rectangle".
    12. Не повернутая (AnnotationData.Rotation == 0) и не зеркалированная (AnnotationData.HorizontalMirrored == false и AnnotationData.VerticalMirrored == false) аннотация 'встроенное изображение' (EmbeddedImageAnnotationData) будет сохранена как WANG-аннотация "Image embedded".
    13. Аннотация 'линии' (LineAnnotationData) будет сохранена как WANG-аннотация "Straight line".
    14. Аннотация 'линии' (LinesAnnotationData) будет сохранена как WANG-аннотация "Freehand line"; линии с интерполяцией (LinesAnnotationData.UseInterpolation == true) будут аппроксимироваться полилинией.
    15. Полигон-аннотация (PolygonAnnotationData) с заливкой прозрачным цветом ( * ) и границей (AnnotationData.Border == true) будет сохранена как WANG-аннотация "Hollow polygon"; полигон с интерполяцией (LinesAnnotationData.UseInterpolation == true) будет аппроксимирован ломаной линией.
    16. Полигон-аннотация (PolygonAnnotationData) с заливкой не прозрачным цветом ( * ) и без границы (AnnotationData.Border == false) будет сохранена как WANG-аннотация "Filled polygon"; полигон с интерполяцией (LinesAnnotationData.UseInterpolation == true) будет аппроксимирован ломаной линией.
    17. Групповая аннотация (GroupAnnotationData) будет сохранена в соответствии со следующим ниже руководящим принципом. Все аннотации, входящие в группу, будут сохранены в полном соответствии с представленными в этой статье принципами сохранения в WANG-формат. Если свойство "Name" группы аннотаций не пустое, то для всех сохраненных аннотаций поле "GroupName" будет перезаписано значением этого свойства. Если свойство "Name" пустое, то значение поля "GroupName" будет сформировано по шаблону "$GroupN", где N - порядковый номер группы, начиная с 1. При загрузке аннотаций из WANG-пакета аннотации с одинаковым значением поля "GroupName" будут объединены в одну аннотацию GroupAnnotationData, при этом значение свойства "Name" будет перезаписано на значение этого поля.

    Все остальные аннотации, включая аннотации, полученные из вышеупомянутых аннотаций, не могут быть сохранены в пакете WANG.

    (*) Заливка аннотации цветом считается прозрачной при выполнении любого условия, перечисленного ниже:
    При сохранении аннотации возможна частичная или полная потеря некоторых значений свойств:
    1. При сохранении базовой аннотации (AnnotationData)
    2. При сохранении аннотации прямоугольника (RectangleAnnotationData)
    3. При сохранении аннотации эллипса (EllipseAnnotationData)
      • значения следующих свойств будут полностью потеряны:
    4. При сохранении аннотации ссылки (LinkAnnotationData)
    5. При сохранении текстовой аннотации (TextAnnotationData)
    6. При сохранении аннотации 'подсветка' (HighlightAnnotationData)
    7. При сохранении аннотации 'линия' (LineAnnotationData)
      • значения следующих свойств будут полностью потеряны:
    8. При сохранении аннотации 'линии' (LinesAnnotationData)
    9. При сохранении полигон-аннотации (PolygonAnnotationData)
      • значения следующих свойств будут полностью потеряны:
        • смотрите список потерянной информации для LinesAnnotationData


    Загрузка Vintasoft-аннотаций из WANG-пакета

    1. "Hollow rectangle" аннотация преобразуется в RectangleAnnotationData.
    2. "Filled rectangle" аннотация преобразуется либо в RectangleAnnotationData, либо в HighlightAnnotationData в зависимости от значения поля "Highlighting".
    3. "Text from file", "Typed text", "Attach-a-note" и "Text stamp" преобразуются либо в TextAnnotationData, либо в LinkAnnotationData в зависимости от наличия блока гиперссылок.
    4. "Straight line" аннотация преобразуется в LineAnnotationData.
    5. "Freehand line" аннотация преобразуется в LinesAnnotationData.
    6. "Hollow polygon" и "Filled polygon" аннотации преобразуются в PolygonAnnotationData.
    7. Все загруженные аннотации с одинаковым значением поля "GroupdName" будут объединены в одну аннотацию GroupAnnotationData, при этом значение свойства AnnotationData.Name будет изменено на значение поля "GroupdName".

    При загрузке аннотаций из WANG-пакета происходит инициализация следующих свойств аннотаций:
    1. Для всех аннотаций, загруженных из WANG-пакета
    2. Для RectangleAnnotationData
    3. Для HighlightAnnotationData
    4. Для TextAnnotationData:
    5. Для LinkAnnotationData
    6. Для аннотации PolygonAnnotationData
      • Свойство AnnotationData.Border инициализируется значением True, если WANG-аннотация имеет тип "Hollow polygon"; в противном случае, свойство инициализируется значением False.