LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

Tagsプロパティ








特定のファイルフォーマット(TIFFを含む)を読み書きする際に使われるタグデータのコレクション。
構文
'Declaration
 
Public ReadOnly Property Tags As RasterCollection(Of RasterTagMetadata)
'Usage
 
Dim instance As RasterImage
Dim value As RasterCollection(Of RasterTagMetadata)
 
value = instance.Tags
@property (nonatomic, assign, readonly, nullable) NSMutableArray<LTRasterTagMetadata *> *tags
public RasterCollection<RasterTagMetadata> getTags()
 get_Tags(); 

属性値

特定のファイルフォーマット(TIFFを含む)を読み書きするとき、使われるRasterTagMetadataのコレクション。
解説

いくつかの形式は、非画像データ(例えばコメント、タグとマーカー)を保存することができます。

このコレクションにRasterTagMetadataオブジェクトを追加または削除することによって、imageのタグを操作することができます。

RasterCodecs.Saveを呼び出す前にCodecsSaveOptions.Tagsプロパティをtrueに設定することによって、imageがファイルに保存されるとき、このコレクションでタグを保存することができます。

RasterCodecs.Loadを呼び出す前にCodecsLoadOptions.Markersプロパティをtrueに設定することによって、imageがファイルからロードされるとき、すべてのマーカー(任意であるならば)をこのコレクションへロードすることができます。

既存ファイルで保存されるタグをロードするために既存ファイルとRasterCodecs.EnumTagsに直接タグを保存するために、RasterCodecs.WriteTagsメソッドを使うことができます。

注意:タグをTIFFファイルへ書き込むために、RasterCodecs.Saveが続くRasterImage.Tagsを使う代わりに、RasterCodecs.WriteTagsを使います。

サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Controls
Imports Leadtools.Dicom
Imports Leadtools.Drawing
Imports Leadtools.Svg

Private Sub DisplayTag(ByVal tag As RasterTagMetadata)
   Select Case tag.DataType
      Case RasterTagMetadataDataType.Ascii
         MessageBox.Show("Tag " & tag.Id.ToString() & " = " & tag.ToAscii())
      Case RasterTagMetadataDataType.Byte
         MessageBox.Show("Tag " & tag.Id.ToString() & " = " & tag.ToByte()(0).ToString())
   End Select
End Sub
      
Public Sub TagsExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"))
   'Ascii
   Dim tagDataAscii As RasterTagMetadata = New RasterTagMetadata()
   ' set the Copyright tag
   tagDataAscii.Id = &H8000
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii
   tagDataAscii.FromAscii("Test String")
   image.Tags.Add(tagDataAscii)

   'Byte
   Dim tagDataByte As RasterTagMetadata = tagDataAscii.Clone()
   tagDataByte.Id = &H8001
   tagDataByte.DataType = RasterTagMetadataDataType.Byte
   Dim byteArray As Byte() = New Byte(0) {}
   byteArray(0) = 10
   tagDataByte.FromByte(byteArray)
   image.Tags.Add(tagDataByte)

   codecs.Options.Save.Tags = True
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), RasterImageFormat.Tif, 0)
   ' load the tags together with the image

   Dim tag As RasterTagMetadata = codecs.ReadTag(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), 1, &H8000)
   DisplayTag(tag)
   tag = codecs.ReadTag(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_TAGS.TIF"), 1, &H8001)
   DisplayTag(tag)

   codecs.Dispose()
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;
using Leadtools.Drawing;
using Leadtools.Controls;
using Leadtools.Svg;

private void DisplayTag(RasterTagMetadata tag)
{
   switch(tag.DataType)
   {
      case RasterTagMetadataDataType.Ascii:
         MessageBox.Show("Tag " + tag.Id.ToString() + " = " + tag.ToAscii());
         break;
      case RasterTagMetadataDataType.Byte:
         MessageBox.Show("Tag " + tag.Id.ToString() + " = " + tag.ToByte()[0].ToString());
         break;
   }
}
      
public void TagsExample()
{
   RasterCodecs codecs = new RasterCodecs();
   RasterImage image = codecs.Load(Path.Combine(ImagesPath.Path, "IMAGE1.CMP"));
   //Ascii
   RasterTagMetadata tagDataAscii = new RasterTagMetadata();
   // set the Copyright tag
   tagDataAscii.Id = 0x8000;
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii;
   tagDataAscii.FromAscii("Test String");
   image.Tags.Add(tagDataAscii);

   //Byte
   RasterTagMetadata tagDataByte = tagDataAscii.Clone();
   tagDataByte.Id = 0x8001;
   tagDataByte.DataType = RasterTagMetadataDataType.Byte;
   byte[] byteArray = new byte[1];
   byteArray[0] = 10;
   tagDataByte.FromByte(byteArray);
   image.Tags.Add(tagDataByte);

   codecs.Options.Save.Tags = true;
   codecs.Save(image, Path.Combine(ImagesPath.Path, "IMAGE1_TAGS.TIF"), RasterImageFormat.Tif, 0);
   // load the tags together with the image

   RasterTagMetadata tag = codecs.ReadTag(Path.Combine(ImagesPath.Path, "IMAGE1_TAGS.TIF"), 1, 0x8000);
   DisplayTag(tag);
   tag = codecs.ReadTag(Path.Combine(ImagesPath.Path, "IMAGE1_TAGS.TIF"), 1, 0x8001);
   DisplayTag(tag);

   codecs.Dispose();
}
function DisplayTag(tag)
{
   switch  (tag.dataType)
   {
      case Leadtools.RasterTagMetadataDataType.ascii:
         console.info("Tag " + tag.id.toString() + " = " + tag.toAscii());
      break;
      
      case Leadtools.RasterTagMetadataDataType.byte:
         console.info("Tag " + tag.id.toString() + " = " + tag.toByte()[0].toString());
      break;
   }
}


RasterImageExamples.prototype.TagsExample = function ( ) 
{
   Tools.SetLicense ( ) ;
   with (Leadtools) {
      with (Leadtools.Codecs) {
         var codecs = new RasterCodecs();
         var srcFileName = "Assets\\Image1.cmp";
         var image;
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         })
               .then(function (img) {
                  image = img;


                  //Ascii
                  var tagDataAscii = new RasterTagMetadata();

                  // set the Copyright tag
                  tagDataAscii.id = 0x8000;
                  tagDataAscii.dataType = RasterTagMetadataDataType.ascii;
                  tagDataAscii.fromAscii("Test String");
                  image.tags.append(tagDataAscii);

                  //Byte
                  var tagDataByte = tagDataAscii.clone();
                  tagDataByte = 0x8001;
                  tagDataByte.dataType = RasterTagMetadataDataType.byte;
                  var byteArray = new Array(1);
                  byteArray[0] = 10;
                  tagDataByte.fromByte(byteArray);
                  image.tags.append(tagDataByte);

                  codecs.options.save.tags = true;
                  return Tools.AppLocalFolder().createFileAsync("IMAGE1_TAGS.TIF")
               })
               .then(function (saveFile) {
                  var saveStream = LeadStreamFactory.create(saveFile);
                  return codecs.saveAsync(image, saveStream, RasterImageFormat.tif, 0)})
         .then ( function ( ) {

                  // load the tags together with the image
                  return Tools.AppLocalFolder().getFileAsync("IMAGE1_TAGS.TIF")
               })
               .then(function (loadFile) {
                  return codecs.readTagAsync(LeadStreamFactory.create(loadFile), 1, 0x8000)
               })
               .then(function (tag) {
                  
                  DisplayTag(tag);

                  return Tools.AppLocalFolder().getFileAsync("IMAGE1_TAGS.TIF")
               })
               .then(function (loadFile) {
                  return codecs.readTagAsync(LeadStreamFactory.create(loadFile), 1, 0x8001)
               })
               .then(function (tag) {
                  DisplayTag(tag);
                  codecs.close();
                  image.close();
               });
      }
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;

private void DisplayTag(RasterTagMetadata tag)
{
   switch (tag.DataType)
   {
      case RasterTagMetadataDataType.Ascii:
         Debug.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToAscii());
         break;
      case RasterTagMetadataDataType.Byte:
         Debug.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToByte()[0].ToString());
         break;
   }
}
      
public async Task TagsExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   //Ascii
   RasterTagMetadata tagDataAscii = new RasterTagMetadata();
   // set the Copyright tag
   tagDataAscii.Id = 0x8000;
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii;
   tagDataAscii.FromAscii("Test String");
   image.Tags.Add(tagDataAscii);

   //Byte
   RasterTagMetadata tagDataByte = tagDataAscii.Clone();
   tagDataByte = 0x8001;
   tagDataByte.DataType = RasterTagMetadataDataType.Byte;
   byte[] byteArray = new byte[1];
   byteArray[0] = 10;
   tagDataByte.FromByte(byteArray);
   image.Tags.Add(tagDataByte);

   codecs.Options.Save.Tags = true;
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync("IMAGE1_TAGS.TIF");
   ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
   await codecs.SaveAsync(image, saveStream, RasterImageFormat.Tif, 0);

   // load the tags together with the image
   loadFile = await Tools.AppLocalFolder.GetFileAsync("IMAGE1_TAGS.TIF");
   RasterTagMetadata tag = await codecs.ReadTagAsync(LeadStreamFactory.Create(loadFile), 1, 0x8000);
   DisplayTag(tag);

   loadFile = await Tools.AppLocalFolder.GetFileAsync("IMAGE1_TAGS.TIF");
   tag = await codecs.ReadTagAsync(LeadStreamFactory.Create(loadFile), 1, 0x8001);
   DisplayTag(tag);

   codecs.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Dicom;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;
using Leadtools.Windows.Media;

private void DisplayTag(RasterTagMetadata tag)
{
   switch (tag.DataType)
   {
      case RasterTagMetadataDataType.Ascii:
         Debug.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToAscii());
         break;
      case RasterTagMetadataDataType.Byte:
         Debug.WriteLine("Tag " + tag.Id.ToString() + " = " + tag.ToByte()[0].ToString());
         break;
   }
}
public void TagsExample(RasterImage image, Stream destStream)
{
   //Ascii
   RasterTagMetadata tagDataAscii = new RasterTagMetadata();
   // set the Copyright tag
   tagDataAscii.Id = 0x8000;
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii;
   tagDataAscii.FromAscii("Test String");
   image.Tags.Add(tagDataAscii);
   //Byte
   RasterTagMetadata tagDataByte = tagDataAscii.Clone();
   tagDataByte = 0x8001;
   tagDataByte.DataType = RasterTagMetadataDataType.Byte;
   byte[] byteArray = new byte[1];
   byteArray[0] = 10;
   tagDataByte.FromByte(byteArray);
   image.Tags.Add(tagDataByte);

   RasterCodecs codecs = new RasterCodecs();
   codecs.Options.Save.Tags = true;
   codecs.Save(image, destStream, RasterImageFormat.Tif, 0);
   // load the tags together with the image

   RasterTagMetadata tag = codecs.ReadTag(destStream, 1, 0x8000);
   DisplayTag(tag);
   tag = codecs.ReadTag(destStream, 1, 0x8001);
   DisplayTag(tag);
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Dicom
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Windows.Media

Private Sub DisplayTag(ByVal tag As RasterTagMetadata)
   Select Case tag.DataType
      Case RasterTagMetadataDataType.Ascii
         Debug.WriteLine("Tag " & tag.Id.ToString() & " = " & tag.ToAscii())
      Case RasterTagMetadataDataType.Byte
         Debug.WriteLine("Tag " & tag.Id.ToString() & " = " & tag.ToByte()(0).ToString())
   End Select
End Sub
Public Sub TagsExample(ByVal image As RasterImage, ByVal destStream As Stream)
   'Ascii
   Dim tagDataAscii As RasterTagMetadata = New RasterTagMetadata()
   ' set the Copyright tag
   tagDataAscii.Id = &H8000
   tagDataAscii.DataType = RasterTagMetadataDataType.Ascii
   tagDataAscii.FromAscii("Test String")
   image.Tags.Add(tagDataAscii)
   'Byte
   Dim tagDataByte As RasterTagMetadata = tagDataAscii.Clone()
   tagDataByte = &H8001
   tagDataByte.DataType = RasterTagMetadataDataType.Byte
   Dim byteArray As Byte() = New Byte(0){}
   byteArray(0) = 10
   tagDataByte.FromByte(byteArray)
   image.Tags.Add(tagDataByte)

   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Options.Save.Tags = True
   codecs.Save(image, destStream, RasterImageFormat.Tif, 0)
   ' load the tags together with the image

   Dim tag As RasterTagMetadata = codecs.ReadTag(destStream, 1, &H8000)
   DisplayTag(tag)
   tag = codecs.ReadTag(destStream, 1, &H8001)
   DisplayTag(tag)
End Sub
必要条件

ターゲットプラットホーム

参照

参照

RasterImageクラス
RasterImageメンバ