گرافیک برداری مقیاس پذیر (SVG) گرافیک های مبتنی بر برداری را برای وب تعریف می کند. SVG یک فرمت تصویر برداری مبتنی بر XML برای گرافیک های دو بعدی با پشتیبانی از تعامل و انیمیشن است. این فرمت برای ارائه تصاویر دو بعدی در اینترنت که در آن تصاویر می توانند به هر اندازه ای مقیاس شوند، محبوب است. اما، در صورتی که برای فشردهسازی بدون تلفات نیازی به تبدیل SVG به PNG داشته باشیم، جایی که جزئیات و کیفیت آن از دست نمیرود، Aspose.Imaging Cloud یک راهحل مناسب است.
این مقاله جزئیاتی در مورد نحوه تبدیل SVG به PNG به صورت آنلاین ارائه می دهد.
API تبدیل تصویر
Aspose.Imaging Cloud راه حل برنامه نویسی ما برای نیازهای پردازش تصویر است. میتوانید عملیاتی از جمله تغییر اندازه، برش، چرخش، مقیاسگذاری، چرخش، جستجو و صادرات تصاویر به فرمتهای مختلف پشتیبانی شده را انجام دهید. برای تسهیل بیشتر کاربران خود، ما SDK های مخصوص زبان برنامه نویسی ایجاد کرده ایم و طبق محدوده این مقاله، از Aspose.Imaging Cloud SDK برای .NET استفاده می کنیم. اکنون لطفاً برای کسب اطلاعات بیشتر در مورد [نحوه نصب Aspose.Cloud SDK] به لینک زیر مراجعه کنید.
تبدیل SVG به PNG در C#
لطفاً دستورالعملهای زیر را دنبال کنید تا یک تصویر SVG موجود در فضای ذخیرهسازی ابری را به فرمت PNG تبدیل کنید.
- اولین گام این است که یک نمونه از ImagingApi ایجاد کنید و در عین حال جزئیات ClientID و ClientSecret را به عنوان آرگومان ارسال کنید.
- در مرحله دوم، تصویر SVG را با استفاده از روش UploadFile(..) ImagingApi در فضای ذخیره سازی ابری آپلود کنید.
- سوم، یک نمونه از کلاس ConvertImageRequest ایجاد کنید و نام SVG ورودی و فرمت حاصل را به عنوان آرگومان ارسال کنید.
- حال برای انجام عملیات تبدیل، متد ConvertImage(..) را فراخوانی کنید. PNG حاصل به عنوان یک نمونه جریان برگردانده می شود.
- در نهایت، روش سفارشی را با استفاده از File.Create فراخوانی کنید تا نمونه Stream به عنوان یک فایل در یک درایو محلی ذخیره شود.
// برای نمونههای کامل، لطفاً به https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet مراجعه کنید
// اعتبار مشتری را از https://dashboard.aspose.cloud/ دریافت کنید
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// یک شی از DiagramApi ایجاد کنید
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");
// نام فایل SVG ورودی
String inputFileName = "trashloader2.svg";
// فرمت فایل حاصل
String newFormat = "png";
// نام فایل خروجی
String newFileName = "Converted.png";
try
{
// فایل را از درایو محلی بارگیری کنید
using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
{
// ایجاد درخواست آپلود فایل
UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
// فایل را در فضای ذخیره سازی ابری پیش فرض آپلود کنید
imagingApi.UploadFile(request);
// یک نمونه برای تبدیل تصویر ایجاد کنید
var response = new ConvertImageRequest(inputFileName,newFormat);
// عملیات تبدیل تصویر را آغاز کنید
var responseStream = imagingApi.ConvertImage(response);
// نمونه جریان را به عنوان فایل در حافظه محلی ذخیره کنید
saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
برای مرجع شما، تصاویر نمونه استفاده شده در مثال بالا را می توان از trashloader2.svg و Converted.png دانلود کرد.
SVG به PNG با استفاده از دستورات cURL
در این قسمت قصد داریم با استفاده از دستورات cURL تبدیل SVG به PNG را انجام دهیم. اولین قدم این است که یک نشانه دسترسی JWT بر اساس اعتبار مشتری ایجاد کنید. لطفا دستور زیر را برای ایجاد یکی اجرا کنید:
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
اکنون دستور cURL زیر را برای تبدیل SVG به PNG اجرا کنید، جایی که نتیجه به عنوان یک جریان پاسخ برگردانده می شود و می تواند در یک درایو محلی ذخیره شود.
curl -X GET "https://api.aspose.cloud/v3.0/imaging/trashloader2.svg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
در صورتی که نیاز به تبدیل تصویر SVG ارسال شده به عنوان محتوای چندبخشی/فرم-داده با نمایه صفر یا به عنوان جریان بدنه خام دارید.
curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png
نتیجه گیری
ما در مورد قابلیت های تبدیل تصویر Aspose.Imaging Cloud API بحث کرده ایم. تمرکز ویژه بر روی تبدیل SVG به PNG با استفاده از قطعه کد C#.NET بوده است. در همان زمان، ما درباره جزئیات نحوه ذخیره SVG در PNG از طریق دستورات cURL بحث کرده ایم. لطفاً توجه داشته باشید که از طریق رابط Swagger نیز می توان به API دسترسی داشت و می توانید API را در مرورگر وب آزمایش کنید. با این وجود، Cloud SDK تحت مجوز MIT توسعه یافته است، بنابراین یک کد منبع کامل را می توان از GitHub دانلود کرد.
اگر هنگام استفاده از API با مشکلی مواجه شدید یا سؤالات مرتبطی دارید، لطفاً از طریق [تالار گفتمان پشتیبانی رایگان محصول] با ما تماس بگیرید.
لینک های مرتبط
توصیه می کنیم برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید: