> كيفية رسم رسومات موجهة قابلة للتطوير (SVGs) باستخدام JavaScript
نشرت: 2023-02-25بافتراض أنك تريد إجابة مفصلة حول كيفية رسم Scalable Vector Graphics ، أو SVG ، باستخدام JavaScript ، فإليك طريقة واحدة للقيام بذلك. SVGs هي تنسيق صورة متجه مستند إلى XML للرسومات ثنائية الأبعاد مع دعم التفاعل والرسوم المتحركة. مواصفات SVG هي معيار مفتوح تم تطويره بواسطة World Wide Web Consortium (W3C) منذ 1999. باستخدام JavaScript ، يمكنك استخدام Document Object Model (DOM) للوصول إلى عناصر مستند SVG ومعالجتها. على سبيل المثال ، يمكنك إضافة عناصر أو إزالتها أو تغيير سماتها أو تحريكها. فيما يلي مثال أساسي على كيفية إنشاء مستند SVG بعنصر دائرة وإضافته إلى DOM. أولاً ، قم بإنشاء مستند HTML يحتوي على عنصر وقم بتعيين سمات العرض والارتفاع الخاصة به. بعد ذلك ، قم بإنشاء عنصر وقم بتعيين سمات cx و cy لتعريف إحداثيات x و y لمركز الدائرة. ثم قم بتعيين السمة r لتحديد نصف قطر الدائرة. أخيرًا ، أضف العنصر إلى العنصر. يسمح تنسيق الملف .svg ، المستخدم لتخزين الصور والبيانات ، بمزيد من التحجيم الديناميكي. تُستخدم علامات XML لوصف كيفية رسمها ومواءمتها ، بدلاً من مجرد وصف كيفية رسم المسار. عند عرض الترميز في ملف HTML ، سيظهر تمامًا كما يظهر الرمز. إذا كنت تريد إضافة رموز SVG ديناميكيًا إلى البيانات من موقع بعيد أثناء عرضها ، فيمكن استخدام هذه الطريقة. يمكن إنشاء علامات XML ، مثل عناصر HTML ، وتكوينها. يمكن إنشاء ملف main.js لملف XML باستخدام وظيفة XPath. سنضع علامة الارتساء في الرسم بعد إنشائه ، مما يسمح بتشغيل ميزة التمرير ، ونتيجة لذلك ، يمكن التعامل مع أي عنصر مثل أي عنصر آخر بعد ذلك. هناك العديد من الخيارات لإضافة الأنماط والفئات - والأهم من ذلك - السمات. الأيقونات مُسبقة مسبقًا لكل منشور ويمكن استخدامها كروابط ربط لتسهيل التمرير. تتمتع منصة SVG بإمكانية وصول أكبر. يجب أن يكون لديك نصوص مثبتة لرسم عناصر على الشاشة باستخدام SVG. هذا ليس الوقت المناسب للتحقق مما إذا كانت الاختبارات القصيرة قد اكتملت أم لا. يمكنك حلها بسهولة عن طريق قراءة الصفحة قبل إجراء الاختبار. هل يمكننا استخدام Javascript In Svg؟ يجب وضع نص برمجي في نهاية المستند بحيث يمكن الوصول إليه بشكل كامل مع تجنب الحظر. يمكن عرض ملفات VGs بنفس طريقة عرض HTML ، باستخدام نموذج كائن المستند (DOM). نتيجة لذلك ، يمكن استخدام جافا سكريبت لمعالجتها بسهولة تامة. في هذه الدورة ، سوف أتناول كيفية استخدام SVGs المضمنة والخارجية. تتوفر أمثلة التعليمات البرمجية على GitHub ، الموجود في الجزء العلوي من هذا المنشور. إذا كنت تستخدم SVG خارجيًا ، فليس من الضروري استخدام نفس الكود عند إدراج العنصر. نظرًا لأن SVG لا يمكنه الوصول إلى مستند HTML المضمن في الصفحة ، يمكننا استخدامه لاستبدال SVGs الأخرى به. عندما تقوم بلف كود JS مع CDATA ، فإن XML يوزعه كجزء من XML ، وإنشاء وإزالة العناصر في HTML هو نفسه. يجب أن تمرر طريقة createElementNS () للمستند ذي الصلة اسم العنصر ومساحة اسم SVG لتتمكن من إنشاء العناصر. إذا كنت تريد إزالة عنصر ، يجب عليك أولاً إنشاء عقدة نصية منفصلة باستخدام createTextNode () ثم إلحاقه بعنصر النص. لا توجد في نفس المستند ، لذا فهي تعمل بشكل جيد. يمكن استخدام CSS و / أو JavaScript لمعالجة وتحريك SVGs بسهولة. نظرًا لأن SVG يستخدم ذاكرة أقل ويستغرق وقتًا أقل للتحميل من تنسيقات JPG و JPEG و PNG والتنسيقات الأخرى ، فهو مثالي للتصميم سريع الاستجابة. يدعم SVG ، بالإضافة إلى كونه تنسيق ملف متعدد الاستخدامات ، الرسوم المتحركة والشفافية. هناك مشكلة واحدة فقط في استخدام هذا التنسيق: فهو لا يستخدم على نطاق واسع مثل التنسيقات القياسية الأخرى مثل PNG ، لذلك ليس من السهل دائمًا التحميل إلى موقعك والعرض بشكل صحيح ، كما أنه لا يتوافق دائمًا مع المتصفحات القديمة هل تعتمد Svg Javascript؟ نظرًا لطبيعتها البدائية ، فهي سريعة الاستجابة للغاية ، لكنها تفتقر إلى إمكانات عرض النص وأي تفاعل مع العنصر يعتمد على JavaScript. يمكن تغيير حجم الصورة القائمة على المتجهات دون التسبب في تشوش (على الرغم من أنها تتطلب ضغطًا). يتكون كل شكل مرسوم من كائن في SVG.Html إلى Svg Javascript باستخدام JavaScript ، من الممكن تحويل HTML إلى SVG. يمكن القيام بذلك باستخدام مكتبة مثل canvg. باستخدام canvg ، يمكن تحليل مستندات SVG وعرضها من داخل صفحات HTML. يسمح ذلك بدمج الرسومات المتجهة مع تقنيات الويب الأخرى ، وسنتناول كيفية إنشاء رسم متجه عددي (SVG) يظهر على صفحة في هذا البرنامج التعليمي. يمكن أن تحتوي صفحة HTML على لهجة XML تعرض معلومات في شكل صورة HTML أو إعلان XML. في هذه المقالة ، سنقارن ونقارن بين بنية JavaScript لإدخال وتعديل عناصر HTML مقابل صيغة SVG لإدراج عناصر HTML وتعديلها. سننظر في حالة استخدام نموذجية قبل تطوير طريقتنا. يجب أن تتم إضافة عنصر بسيط ، مثل a> div ، إلى SVG. تم استخدام طريقة createSVG مرتين في المثال التالي. يمكننا التحكم في SVG باستخدام HTML و CSS ، بطريقة دقيقة ، باستخدام JavaScript و CSS. تتكون طريقة document.createElementNS التي نستخدمها من معلمتين: document.createElementNS و document.createElementNS. أحد المتغيرات المستخدمة للإشارة إلى الكائن المراد تمريره هو o. نتيجة لذلك ، من أجل العثور على أحرف كبيرة واستبدالها بشرطة (-) متبوعة بحرف صغير ، نستخدم التعبير العادي / [AZ] / g ، والذي يستخدم كائنات camelCase وبناء جملة الشرطة للعثور على الأحرف الكبيرة واستبدالها مع شرطات (-). بمجرد إرجاع العنصر ، كل ما يتعين علينا فعله هو إعادته كعنصر إلحاق. نظرًا لأن كل مكون من مكونات الصورة يمكن تصميمه باستخدام CSS أو كتابته باستخدام JavaScript ، فإنهم يصنعون أداة تصميم / برمجة رائعة. كيف ترميز svgs في HTML؟ يمكن كتابة الصور مباشرة إلى مستندات HTML باستخدام علامة svg> / svg>. الخطوات التالية مطلوبة إذا كنت تنوي استخدام صورة SVG في مستند HTML الخاص بك: افتح الصورة في كود VS الخاص بك أو IDE المفضل لديك ، وانسخ الكود ، والصقه في عنصر النص الأساسي. لماذا لا يزال HTML sva قيد الاستخدام؟ لقد استغرق الأمر بعض الوقت ، ولكن Silverlight مدعوم الآن على نطاق واسع في جميع المتصفحات والأجهزة الرئيسية. ملف SVG صغير للغاية ، ويمكن البحث فيه ، وقابل للتعديل - عن طريق التعليمات البرمجية ، وقابل للتحجيم ، بالإضافة إلى كونه صغير الحجم للغاية ، وقابل للبحث ، وقابل للتعديل ، وقابل للتعديل. يمكن استخدام هذه الأجهزة متعددة الاستخدامات بأي حجم ومتوافقة مع HTML (إنشاء موقع ولكن لا ترغب في الترميز) ببساطة عن طريق النقر على الصور أو مضمنة. يمكنك الحصول على مجموعة أدوات بدء تشغيل مجانية لسيارتك. يمكن لتطبيقات XML مثل SVG استخدام XML 1.0 وكذلك مساحات أسماء XML. عند تضمين محتوى SVG في مستندات HTML ، قد يتم تطبيق بنية HTML وقد لا تكون متوافقة مع XML.Svg أمثلة جافا سكريبت هناك العديد من الأمثلة على استخدام JavaScript مع SVG. على سبيل المثال ، يمكنك استخدام JavaScript لتحديث الموضع أو الحجم أو السمات الأخرى لعنصر SVG ديناميكيًا. يمكنك أيضًا استخدام JavaScript لتحريك عنصر SVG. يمكن تمديد الرسم المتجه باستخدام تقنية تُعرف باسم Scalable Vector Graphics. لغة التوصيف القابلة للتوسيع (XML) هي نوع من تنسيق الصور يكون فريدًا للرسومات القائمة على المتجهات. يمكن استخدام صورة SVG بعدة طرق في CSS و HTML. سنتعلم ست تقنيات مختلفة في هذا البرنامج التعليمي. في هذا الدرس ، سنوضح لك كيفية استخدام sva كخلفية CSS. في هذه الحالة ، يجب تحميل ملف htaccess باستخدام نفس صيغة مستند HTML. ومع ذلك ، في هذه الحالة ، بدلاً من HTML ، نستخدم CSS لإجراء المزيد من التخصيص. يمكنك أيضًا إضافة صورة إلى موقع ويب باستخدام عنصر HTML HTML. من الممكن استخدام الخيار> الكائن> عبر جميع المتصفحات التي تدعم Scalable Vector Graphics (SVG). في HTML و CSS ، يمكن استخدام عنصر HTML في بناء الجملة <embedsrc = happy.svg ”/> لتضمين صورة. لم تعد غالبية المتصفحات الحديثة تدعم> المكونات الإضافية للمتصفح ، لذا الاعتماد على> embed [/ gt؛ بشكل عام ليست فكرة جيدة قم بتحويل الصور إلى Svg للحصول على رسومات ويب ذات جودة أفضل إذا لم تكن مرتاحًا لكتابة كود SVG ، فهناك عدد من الأدوات عبر الإنترنت التي يمكن أن تساعدك في تحويل صورة إلى تنسيق يمكن الوصول إليه عن طريق الويب المتصفح. يعد Canvas.js ، الذي كان متاحًا سابقًا في Chrome و Firefox و Opera ، أحد أكثر الصور شيوعًا. إنشاء صورة Svg ديناميكيًا في Javascript باستخدام JavaScript ، من الممكن إنشاء صورة SVG ديناميكيًا. يمكن القيام بذلك عن طريق إنشاء كائن XMLHttpRequest () جديد وتعيين responseType على "text / xml". بمجرد إنشاء الكائن ، يمكن استخدام طريقة open () لفتح اتصال بملف SVG خارجي. يمكن استخدام حدث onload لتنفيذ وظيفة رد اتصال تقوم بتوزيع ملف SVG وإنشاء كائن XMLDocument. أخيرًا ، يمكن استخدام طريقة createElementNS () لإنشاء عنصر صورة SVG. سيعلمك هذا البرنامج التعليمي كيفية إنشاء عناصر ديناميكية باستخدام sva. تنص وثائق MDN على أن http://www.w3.org/2000/svg هو بناء جملة ملف svg. العنصر الذي نقوم بإنشائه - مستطيل ، نص ، دائرة ، وما إلى ذلك - يجب أن يكون اسمه محددًا. نحن غير مهتمين بذلك ، لأن معلمة الخيارات الاختيارية غير ذات صلة. ما هي سمات العرض و CSS والأنماط المضمنة؟ يمكننا تحديد سمات أو أنماط مضمنة كخيارات باستخدام أدوات GreenSock. يمكن استخدام CSS لمعالجة سمات مثل cy و cy و r وما إلى ذلك في المتصفحات الحديثة ، وعلى الأرجح سترغب في استخدام خصائص CSS (ورقة الأنماط أو النمط المضمن) قدر الإمكان. في هذه المقالة ، سأتناول كيفية إنشاء عناصر ديناميكية باستخدام سمات HTML و CSS والعرض التقديمي. سنستخدم متغيرًا لتحديد عدد المستطيلات والعرض والارتفاع التي نريد أن نحصل عليها من svg. ستكون هناك خصائص هندسية جديدة مدرجة في الإصدار القادم من البرنامج ، المسمى SVG2 ، لكن لا يمكنني قول الكثير عنها لأنها لم تصدر بعد. نريد أن نرى هذه العناصر قيد التنفيذ حتى نتمكن من قياس كفاءتها. يمكن استخدام أداة مسار القصاصة لإضافة عناصر ديناميكية إلى جذر SVG. في هذا العرض التوضيحي ، سننشئ نسخة مخططة من دوائر اللون الأساسية ونضيفها إلى مجموعة ، مما يسمح لنا بالكشف عنها على الفور. كل مستطيل مقطوع يحتوي على توين من 100 وسيتم وضعه أسفل الدائرة حيث تم قصه. عندما يتم عكس رأس التشغيل ، فإنه يتسبب أيضًا في عكس المربع البيني. نظرًا لأننا نقر في بداية التوين ، فلن يحدث شيء في هذه المرحلة. ثم يتم نقل توين إلى الرسوم المتحركة لدينا. لتوضيح كيفية إنشاء مقياس الأرقام ، استخدمت حلقة داخلية متموجة وحلقة خارجية. تنشئ الحلقة الداخلية خمسة خطوط عمودية عن طريق استدعاء دالة makeLine () ، بينما تنشئ الحلقة الخارجية الرقم أعلى علامة التجزئة الأطول عن طريق استدعاء دالة makeNumber (). يسمح لك بضبط الأشياء أثناء التنقل وليس عليك الرجوع إلى برنامج المتجه. قم بتعيين سمة viewBox لعنصر svg> إلى قائمة من أربعة أرقام: min-x و min-y و min-width و min-height. يتم تحديد موضع وأبعاد إطار عرض SVG من خلال السمة viewBox ، والتي يتم تحديدها في مساحة المستخدم. تمثل السمة viewBox أربعة أرقام: min-x و min-y و width و height. يتم تمثيل منفذ العرض بـ min-x في الرقم الأول. يحدد الرقم الثاني أعلى موضع لإطار العرض ، وهو min-y. يتم تحديد عرض منفذ العرض في مساحة المستخدم بالرقم الثالث ، العرض. تحدد القيمة الرابعة ، الارتفاع ، ارتفاع منفذ العرض في مساحة المستخدم. يمكن رسم منفذ العرض من خلال إنشاء عنصر أولاً باستخدام سمة مربع العرض ، متبوعًا بتعيين قيمته على قيم منفذ العرض. يمكنك بعد ذلك استخدام طريقة الرسم () svg> العنصر لرسم الكائن. اضبط سمة viewBox لعنصر svg> على أربعة أرقام: min-x و min-y و min-z و height-x.Svg تعتبر عناصر SVG عناصر رسومية يمكن إضافتها إلى مستند HTML5. يمكن استخدامها لإنشاء خطوط وأشكال وصور ، ويمكن تخصيصها باستخدام CSS.