هر زمان که نیاز به شفافیت در تصاویر در وب باشد، PNG یکی از فرمت هایی است که به ذهن می رسد. تصویر SVG نیز به دلیل مقیاس پذیری یکی از فرمت های تصویری پرکاربرد است. برای نمایش تصاویر استاتیک کوچک، لوگوها، و برای تصاویر با پس زمینه شفاف، اغلب تصاویر PNG ترجیح داده می شوند. به دلیل سازگاری یا هر دلیل دیگری، اغلب نیاز به تبدیل گرافیک های برداری SVG به فرمت های دیگر است. در این مقاله نحوه تبدیل گرافیک های برداری SVG به تصاویر PNG با استفاده از C# بحث می شود.

تبدیل SVG به PNG با استفاده از C# (مقیاس خاکستری، چرخش، تلنگر، واترمارک روشن)

NET API برای تبدیل تصاویر

GroupDocs با Conversion API خود به توسعه دهندگان اجازه می دهد تا فرمت های تصویر را به فرمت های مختلف دیگر تبدیل کنند. تصویر تبدیل شده همچنین می تواند در حین فرآیند تبدیل با استفاده از گزینه های پیشرفته مختلف تغییر یابد. در این مقاله، من از GroupDocs.Conversion for .NET آن برای تبدیل تصویر برداری SVG به تصاویر PNG استفاده خواهم کرد.

می‌توانید نصب‌کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا با افزودن بسته آن به برنامه دات‌نت خود از طریق NuGet API را نصب کنید.

PM> Install-Package GroupDocs.Conversion

نمونه های در حال اجرا برای ویژگی های آن نیز در GitHub موجود است. برای راهنمایی از documentation و API Reference آن دیدن کنید.

تبدیل تصویر SVG به PNG با استفاده از C#

بیایید با تبدیل گرافیک های برداری به فرمت PNG با استفاده از تنظیمات پیش فرض شروع کنیم. مراحل زیر نحوه تبدیل تصویر SVG به PNG با استفاده از C# را نشان می دهد.

  • فایل SVG را با استفاده از کلاس Converter بارگیری کنید.
  • گزینه های تبدیل تصویر را آماده کنید.
  • نوع فایل تبدیل را به صورت PNG تنظیم کنید.
  • متد Convert() را با گزینه های آماده فراخوانی کنید.

کد منبع C# زیر SVG را به یک تصویر PNG تبدیل می کند.

// نحوه تبدیل فایل SVG به فرمت PNG در C# با استفاده از .NET Conversion API با گزینه های پیش فرض
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

تصویر SVG به PNG با استفاده از گزینه های پیشرفته با استفاده از C#

هنگام تبدیل گرافیک های برداری، می توان سفارشی سازی های مختلفی را برای خروجی PNG اعمال کرد. در اینجا برخی از ویژگی های تصویر PNG وجود دارد که می توانیم آنها را تنظیم کنیم:

  • روشنایی
  • تضاد
  • گاما
  • مقیاس خاکستری
  • حالت چرخشی (افقی / عمودی)
  • زوایای چرخش
  • ارتفاع
  • عرض
  • واترمارک

مراحل زیر نحوه تبدیل یک تصویر SVG به PNG و اعمال تنظیمات بیشتر در فایل PNG حاصل را نشان می دهد.

  • گرافیک SVG را با استفاده از کلاس Converter بارگیری کنید.
  • گزینه های تبدیل تصویر را آماده کنید.
  • نوع فایل تبدیل را به صورت PNG تنظیم کنید.
  • سفارشی سازی های انتخابی را تعریف کنید و مقادیر آنها را تنظیم کنید.
  • با استفاده از متد Convert() با گزینه های آماده به یک تصویر PNG تبدیل کنید.

کد منبع زیر سفارشی سازی را در تبدیل SVG به PNG با استفاده از C# اعمال می کند. می توانید هر یک از اینها یا ترکیبی از افکت ها را برای خروجی PNG مورد نظر اعمال کنید.

// با استفاده از سفارشی سازی های مختلف، فایل SVG را به فرمت PNG در C# تبدیل کنید
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        FlipMode = ImageFlipModes.FlipY,
        RotateAngle = 45, 
        Grayscale = true
        /*
        Brightness = 50,
        Contrast = 50,
        Gamma = 0.5F,
        */
    };
    // اعمال واترمارک روی تصویر تبدیل شده
    WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
    {
        Color = Color.Blue,
        Width = 150,
        Height = 150,
        Background = false,
        Top = 50,
        Left = 50,
        RotationAngle = -45,
        Transparency = 50,
    };
    options.Watermark = watermark;
    
    converter.Convert("path/svg-to-png-customized.png", options);
}

مجوز API رایگان دریافت کنید

می‌توانید برای استفاده از API بدون محدودیت ارزیابی، مجوز موقت رایگان دریافت کنید.

نتیجه

بیایید نتیجه گیری کنیم. ما مبانی و تبدیل کمی پیشرفته گرافیک برداری SVG به فرمت PNG را با استفاده از C# در برنامه های NET آموختیم. ما همچنین یاد گرفتیم که چگونه هنگام تبدیل به فرمت PNG، فایل‌های SVG را بچرخانیم، ورق بزنیم یا واترمارک اضافه کنیم. علاوه بر این، ما یاد گرفتیم که گاما و روشنایی و نحوه روشن و خاموش کردن گزینه‌های مقیاس خاکستری را دقیق تنظیم کنیم.

نمونه‌هایی را از GitHub اجرا کنید که به شما کمک می‌کند مبدل SVG به PNG خود را مشابه آنچه در groupdocs.app موجود است بسازید. برای هرگونه سوال از طریق [فروم 8 با ما تماس بگیرید.

همچنین ببینید