تحدد ملفات SVG الرسومات بتنسيق XML. يمكن تحجيمها أو طباعتها بأي حجم دون التأثير على جودة الصورة. في بعض الحالات ، قد تحتاج إلى تدوير صورة SVG. وفقًا لذلك ، تتناول هذه المقالة كيفية تدوير صورة SVG برمجيًا في C#.
C# SVG Image Rotation - تثبيت API
Aspose.SVG for .NET يدعم العمل مع ملفات SVG. يمكنك تحرير أو تحديث أو إنشاء صور SVG من داخل تطبيقاتك القائمة على .NET Framework. ما عليك سوى تنزيل ملفات DLL المرجعية من صفحة التنزيلات ، أو قم بتشغيل أمر تثبيت NuGet أدناه:
PM> Install-Package Aspose.SVG
كيفية تدوير ملف صورة SVG برمجيًا في C#
يمكنك تدوير ملف صورة SVG باتباع الخطوات التالية:
- افتح ملف SVG المُدخِل وأنشئ عنصر رسومي.
- اضبط تحويل الدوران وحدد درجة الدوران.
- قم بإلحاق العنصر الرسومي.
- احفظ صورة SVG التي تم تدويرها.
تدوير صورة SVG برمجيًا في C#
تحتاج إلى اتباع الخطوات أدناه لتدوير صورة SVG في C#:
- قم بتحميل ملف SVG للإدخال باستخدام فئة SVGDocument.
- اذكر زاوية الدوران واضبط تحويل الدوران.
- قم بإلحاق العنصر الرسومي.
- اكتب صورة SVG التي تم تدويرها باستخدام طريقة حفظ.
يشرح الكود أدناه كيفية تدوير صورة SVG مع محتوى HTML مضمن برمجيًا باستخدام C#:
// افتح مستند SVG
using var document = new SVGDocument("example.svg");
var svg = document.RootElement as SVGElement;
var bbox = document.RootElement.GetBBox();
if (svg == null)
return;
// إنشاء عنصر رسومي g ؛
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");
// ضبط التحول بالتناوب
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");
// انسخ الأطفال من عنصر svg إلى عنصر g
foreach (var childNode in svg.ChildNodes)
g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;
// إزالة الأطفال من svg
while (child != null)
{
svg.RemoveChild(child);
child = svg.LastElementChild;
}
// إلحاق g عنصر بعنصر svg
document.RootElement.AppendChild(g);
// احفظ المستند المعدل
document.Save("roatedexample.svg");
احصل على ترخيص API مجاني
يمكنك طلب ترخيص مؤقت مجاني لاختبار API بكامل طاقتها.
استنتاج
في هذه المقالة ، تعلمت كيفية تدوير صورة SVG برمجيًا في C#. علاوة على ذلك ، يمكنك زيارة قسم التوثيق للتعرف على الميزات الأخرى لواجهة برمجة التطبيقات. في حالة وجود أي غموض ، لا تتردد في التواصل معنا على المنتدى.