LEADTOOLS GDI/GDI+(Leadtools.Drawingアセンブリ)

フレームを表示

ChangeFromEmf(IntPtr、Int32、Int32)メソッド






変更されるEMFのハンドル。
拡張メタファイルのオリジナルの幅を拡大縮小する量。
拡張メタファイルのオリジナルの高さを拡大縮小する量。
Windows Enhanced Metafile(EMF)をLEADTOOLS Leadtools.RasterImageオブジェクトに変更し、成功した場合は拡張メタファイルを開放します。
構文
public static RasterImage ChangeFromEmf( 
   IntPtr hemf,
   int width,
   int height
)
'Declaration
 
Public Overloads Shared Function ChangeFromEmf( _
   ByVal hemf As IntPtr, _
   ByVal width As Integer, _
   ByVal height As Integer _
) As RasterImage
'Usage
 
Dim hemf As IntPtr
Dim width As Integer
Dim height As Integer
Dim value As RasterImage
 
value = RasterImageConverter.ChangeFromEmf(hemf, width, height)
public:
static RasterImage^ ChangeFromEmf( 
   IntPtr hemf,
   int width,
   int height
) 

パラメーター

hemf
変更されるEMFのハンドル。
拡張メタファイルのオリジナルの幅を拡大縮小する量。
高さ
拡張メタファイルのオリジナルの高さを拡大縮小する量。

戻り値

新しく作成されたLeadtools.RasterImageオブジェクト。
解説

若干のメタファイルは背景色を持っていません、そして、それゆえに、メタファイルがLeadtools.RasterImageオブジェクトを作成するのに用いられるとき、メタファイルオブジェクトによってカバーされない領域はデフォルトのimage背景色(黒い)を格納します。特定の背景色でこれのようなメタファイルから、ラスター画像を作成するために、ChangeFromEmf(hemf、幅、高さ、backColor)を使います。

このメソッドが成功しているならば、hemfは開放されます。

拡張メタファイルはオリジナルの寸法でロードされることができるか、と高パラメータを用いて拡大縮小されることができます。

であります== 0、そして、高さ== 0-拡張メタファイルは、ファイルで出席しているサイズでロードされます。

であります== 0、そして、高さ、 > 0-それが高さ高さ(アスペクト比を保存する)を持つように、拡張メタファイルは引き伸ばされます。

ならば > 0、そして、高さ== 0-それが幅(アスペクト比を保存する)を持つように、拡張メタファイルは引き伸ばされます。

ならば > 0と高さ > 0-それが幅と高さ高さ(アスペクト比は無視されます)を持つように、拡張メタファイルは引き伸ばされます。

このメソッドは、符合付きイメージをサポートしません。

詳細については、「RasterImageとGDI/GDI+」を参照してください。

サンプル

このサンプルはLeadtools.RasterImageをロードして、EMFにそれを変換して、そして、Leadtools.RasterImageへEMFを変換します。

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

<TestMethod()> _
Public Sub ChangeFromEmfExample()
   Dim codecs As New RasterCodecs()
   Dim hemf As IntPtr

   ' Load an image
   Using image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1)
      ' Change to EMF
      hemf = RasterImageConverter.ChangeToEmf(image)
   End Using

   ' Convert the EMF back to a RasterImage preserving the size
   Using image As RasterImage = RasterImageConverter.ChangeFromEmf(hemf, 0, 0)
      ' Save it to disk
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_ChangeToEmf.bmp"), RasterImageFormat.Bmp, 24)
   End Using

   ' Clean up
   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.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;

[TestMethod]
public void ChangeFromEmfExample()
{
   RasterCodecs codecs = new RasterCodecs();
   IntPtr hemf;

   // Load an image
   using(RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1))
   {
      // Change to EMF
      hemf = RasterImageConverter.ChangeToEmf(image);
   }

   // Convert the EMF back to a RasterImage preserving the size
   using(RasterImage image = RasterImageConverter.ChangeFromEmf(hemf, 0, 0))
   {
      // Save it to disk
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_ChangeToEmf.bmp"), RasterImageFormat.Bmp, 24);
   }

   // Clean up
   codecs.Dispose();
}

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

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

参照

参照

RasterImageConverterクラス
RasterImageConverterメンバ
オーバーロードリスト
ChangeFromEmf(hemf、幅、高さ、backColor)
ChangeFromWmf(IntPtr、Int32、Int32)メソッド
FromEmf
FromWmf
ChangeToEmfメソッド
ChangeToWmfメソッド
ToEmf
ToWmf