LEADTOOLS画像ファイルサポート(Leadtools.Codecsアセンブリ)

フレームを表示

Transformメソッド








ソースファイルの名前を格納しているString
行き先ファイルの名前を格納しているString

変換が実行されることを示します。設定可能な値は、以下の通りです。

意味
CodecsTransformFlags.Flip 垂直にimageを上下に反転します
CodecsTransformFlags.Reverse image(水平に上下に反転します)を翻します
CodecsTransformFlags.Rotate90 90度時計回りにimageを回転させます
CodecsTransformFlags.Rotate180 180度時計回りにimageを回転させます
CodecsTransformFlags.Rotate270 270度時計回りにimageを回転させます
CodecsTransformFlags.None 何もしません
処理するソースファイルの中のページの1から始まるインデックス。

処理カスタムマーカーのためのオプションのコールバックメソッド。(これは回転JPEGファイルだけに役立ちます)。JPEGファイルを変形するとき、メソッドはファイルで格納されるすべてのマーカーを列挙します、そして、それはこのコールバックに渡します。ユーザーは、マーカーの全てのために変換を制御する機能を持っています。JPEGマーカーの上の追加情報については、JPEG仕様に相談してください。

特定の形式のために無損失性変換を実行します。
構文
'Declaration
 
Public Sub Transform( _
   ByVal srcFileName As String, _
   ByVal destFileName As String, _
   ByVal flags As CodecsTransformFlags, _
   ByVal pageNumber As Integer, _
   ByVal callback As CodecsTransformMarkerCallback _
) 
'Usage
 
Dim instance As RasterCodecs
Dim srcFileName As String
Dim destFileName As String
Dim flags As CodecsTransformFlags
Dim pageNumber As Integer
Dim callback As CodecsTransformMarkerCallback
 
instance.Transform(srcFileName, destFileName, flags, pageNumber, callback)
public void transform(String srcFileName, String destFileName, CodecsTransformFlags flags, int pageNumber, CodecsTransformMarkerListener callback)
 function Leadtools.Codecs.RasterCodecs.Transform( 
   srcFileName ,
   destFileName ,
   flags ,
   pageNumber ,
   callback 
)

パラメーター

srcFileName
ソースファイルの名前を格納しているString
destFileName
行き先ファイルの名前を格納しているString
フラグ

変換が実行されることを示します。設定可能な値は、以下の通りです。

意味
CodecsTransformFlags.Flip 垂直にimageを上下に反転します
CodecsTransformFlags.Reverse image(水平に上下に反転します)を翻します
CodecsTransformFlags.Rotate90 90度時計回りにimageを回転させます
CodecsTransformFlags.Rotate180 180度時計回りにimageを回転させます
CodecsTransformFlags.Rotate270 270度時計回りにimageを回転させます
CodecsTransformFlags.None 何もしません
pageNumber
処理するソースファイルの中のページの1から始まるインデックス。
コールバック

処理カスタムマーカーのためのオプションのコールバックメソッド。(これは回転JPEGファイルだけに役立ちます)。JPEGファイルを変形するとき、メソッドはファイルで格納されるすべてのマーカーを列挙します、そして、それはこのコールバックに渡します。ユーザーは、マーカーの全てのために変換を制御する機能を持っています。JPEGマーカーの上の追加情報については、JPEG仕様に相談してください。

  • コールバックメソッドを提供しないならば、このパラメーターとJPEGマーカーでないことの値が変形されるので、無効な参照を使います
  • コールバックメソッドを提供するならば、このパラメーターの値としてのCodecsTransformMarkerCallbackと同じ署名を持っているメソッドにdelegateを使います
解説

現時点では、JPEG、CMPとJPEG TIFF形式だけは、サポートされます。

回転フラグのわずか1つは、指定されることができます。

このメソッドによって変形されるファイルは、これらのファイルフォーマットを読むことができる他のアプリケーションによって変形されて読まれます。

フラグで指定されているフラグによると、JPEGとExif JPEGスタンプは変形されます。若干のJPEGスタンプがこのメソッドによって変形されない点に注意してください。具体的には、スタンプはAPP0以外のマーカーで保存しました、そして、APP1は変形されません。これらの場合を処理するために、コールバックパラメーターを使います。たとえば、スタンプがAPP14マーカーであるもしも、コールバックのこれのために確認して、そして、書き込みます独自のSaveStampを用いたスタンプ。

JPEGファイルについては、imageのサイズは、変更されるかもしれません。image幅と高さは、imageに存在するサブサンプリングに従う8または16の倍数であるように調整されます。imageが4:4:4であるならば、幅と高さは16の倍数であるように調整されます。imageが422であるならば、オリジナルの幅は16の倍数と8の倍数である高さであるように調整されます。回転の後、幅は高さになるかもしれません。imageが411であるならば、幅と高さは16の倍数であるように調整されます。

変換はロスレスです。imageをロードして、RotateCommandまたはFlipCommandを用いてそれを変形して、それをresavingするより、それは良好です。度重なるロードと保存プロセスは画像劣化を引き起こします、しかし、このメソッドを呼び出すことは任意の画像劣化を引き起こしません。

回転変換は、フリップ/反位操作の前に実行されます。

変換マーカーがどのように使われるかについて制御するために、WriteTransformMarkerメソッドを使います。

サンプル

このサンプルは、90度ファイルを回転させるために、JPEG変換を使います

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing
Imports Leadtools.Svg

      
Public Sub TransformExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")

   Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Transform.cmp")

   codecs.Transform(srcFileName, destFileName, CodecsTransformFlags.Rotate90, 1, AddressOf MyCodecsTransformMarkerCallback)

   ' Clean up
   codecs.Dispose()
End Sub

Private Function MyCodecsTransformMarkerCallback(ByVal id As Integer, ByVal buffer As RasterNativeBuffer, ByVal transform As CodecsTransformFlags) As CodecsTransformMarkerAction
   Console.WriteLine("Transforming: id: {0}, Data Length: {1}, transform: {2}", id, buffer.Length, transform)
   Return CodecsTransformMarkerAction.Default
End Function

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.Color;
using Leadtools.Svg;

      
public void TransformExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");

   string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Transform.cmp");

   codecs.Transform(
      srcFileName,
      destFileName,
      CodecsTransformFlags.Rotate90,
      1,
      MyCodecsTransformMarkerCallback);

   // Clean up
   codecs.Dispose();
}

CodecsTransformMarkerAction MyCodecsTransformMarkerCallback(int id, RasterNativeBuffer buffer, CodecsTransformFlags transform)
{
   Console.WriteLine("Transforming: id: {0}, Data Length: {1}, transform: {2}", id, buffer.Length, transform);
   return CodecsTransformMarkerAction.Default;
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
必要条件

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

参照

参照

RasterCodecsクラス
RasterCodecsメンバ
マーカーの操作
LEADTOOLSによる画像処理入門