FromEmfImage

EmfRecorderGraphics2D.FromEmfImage method

Şunun bir örneğini alır:EmfRecorderGraphics2D Emf görüntüsündeki tüm kayıtları içerir.

public static EmfRecorderGraphics2D FromEmfImage(EmfImage emfImage)
ParametreTipTanım
emfImageEmfImageKayıtların okunacağı Emf görüntüsü.

Geri dönüş değeri

Bir örneğiEmfRecorderGraphics2D

Örnekler

Bu örnek, bir dosyadan bir EMF görüntüsünün nasıl yükleneceğini ve üzerine bir metin dizesinin nasıl çizileceğini gösterir.

[C#]

string dir = "c:\\temp\\";

using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
{
    Aspose.Imaging.FileFormats.Emf.Graphics.EmfRecorderGraphics2D graphics =
        Aspose.Imaging.FileFormats.Emf.Graphics.EmfRecorderGraphics2D.FromEmfImage(emfImage);

    // İlk olarak, resmin boyutunu alın
    int width = emfImage.Width;
    int height = emfImage.Height;

    // İkinci olarak, görüntünün ana köşegeni boyunca bir metin dizesi koymak için bir dönüşüm hesaplayın -
    // sol üst köşeden sağ üst köşeye.
    float emFontSize = 96f;
    float d = (float)System.Math.Sqrt(width * width + height * height);
    float scaleFactor = d / (emFontSize * 5f);

    float tan = ((float)height) / width;                
    double radians = System.Math.Atan(tan);
    double degrees = (180 * radians) / System.Math.PI;

    Aspose.Imaging.Matrix transform = new Aspose.Imaging.Matrix();
    transform.Rotate((float)degrees);
    transform.Scale(scaleFactor, scaleFactor);

    // Ardından, dönüşümü ayarlayın.
    graphics.SetTransform(transform);

    // Son olarak, ana köşegen boyunca bir filigran (pembe renkli metin dizisi) koyun.
    graphics.DrawString("WATERMARK", new Aspose.Imaging.Font("Courier New", emFontSize), Aspose.Imaging.Color.LightPink, 0, 0/*, (float)degrees*/);

    // Resmi filigranlı olarak başka bir EMF dosyasına kaydedin.
    using (Aspose.Imaging.FileFormats.Emf.EmfImage scaledEmfImage = graphics.EndRecording())
    {
        scaledEmfImage.Save(dir + "test.scaled.emf");
    }
}

Ayrıca bakınız