FromEmfImage

EmfRecorderGraphics2D.FromEmfImage method

يحصل على مثيل لملفEmfRecorderGraphics2D تحتوي على جميع السجلات من صورة Emf.

public static EmfRecorderGraphics2D FromEmfImage(EmfImage emfImage)
معامليكتبوصف
emfImageEmfImageصورة Emf لقراءة السجلات منها.

قيمة الإرجاع

مثال علىEmfRecorderGraphics2D

أمثلة

يوضح هذا المثال كيفية تحميل صورة EMF من ملف ورسم سلسلة نصية فوقه.

[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);

    // أولاً ، احصل على حجم الصورة
    int width = emfImage.Width;
    int height = emfImage.Height;

    // ثانيًا ، احسب التحويل لوضع سلسلة نصية على طول القطر الرئيسي للصورة -
    // من أعلى اليسار إلى الركن الأيمن.
    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);

    // ثم اضبط التحويل.
    graphics.SetTransform(transform);

    // أخيرًا ، ضع علامة مائية (سلسلة نصية من اللون الوردي) على طول القطر الرئيسي.
    graphics.DrawString("WATERMARK", new Aspose.Imaging.Font("Courier New", emFontSize), Aspose.Imaging.Color.LightPink, 0, 0/*, (float)degrees*/);

    // احفظ الصورة بالعلامة المائية في ملف EMF آخر.
    using (Aspose.Imaging.FileFormats.Emf.EmfImage scaledEmfImage = graphics.EndRecording())
    {
        scaledEmfImage.Save(dir + "test.scaled.emf");
    }
}

أنظر أيضا