التدرج الخطي في SVG
- الصفحة السابقة حجب SVG
- الصفحة التالية التدرج الخطي في SVG
<defs> و <filter>
جميع الفلاتر SVG في <defs>
في العنصر.<defs>
العنصر هو اختصار لـ (definitions)، يحتوي على تعريفات لخصائص خاصة (مثل الفلتر).
<filter>
العنصر يُستخدم لتحديد فلتر SVG.<filter>
العنصر يحتوي على خاصية id إلزامية، تستخدم لتحديد الفلتر. ثم سيعمل الشكل على الفلتر الذي سيتم استخدامه.
SVG <feOffset>
مثال 1
<feOffset>
العنصر يُستخدم لإنشاء تأثير الظل. الفكرة هي: أولاً الحصول على شكل SVG (صورة أو عنصر)، ثم تحريكه قليلاً في مستوى xy.
المثال الأول قام بتمرير مستطيل (استخدام <feOffset>
),ثم أدمج الصورة الأصلية في أعلى الصورة المبالغة في التوضيح (استخدام <feBlend>
):
هذا هو كود SVG:
<svg height="120" width="120"> <defs> <filter id="f1" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" /> <feBlend in="SourceGraphic" in2="offOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f1)" /> </svg>
توضيح الكود:
- خاصية id لعنصر <filter> تعريف الاسم الفريد للفلتر
- <rect> خاصية الفلتر ترتبط بهذا العنصر إلى "f1" الفلتر
مثال 2
الآن، يمكنك تمرير صورة المبالغة في التوضيح (استخدام <feGaussianBlur>
):
هذا هو كود SVG:
<svg height="140" width="140"> <defs> <filter id="f2" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" /> <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" /> <feBlend in="SourceGraphic" in2="blurOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f2)" /> </svg>
توضيح الكود:
- <feGaussianBlur> عناصر خاصية stdDeviation تعريف مستوى الغموض
مثال 3
الآن، أضف الظل الأسود:
هذا هو كود SVG:
<svg height="140" width="140"> <defs> <filter id="f3" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceAlpha" dx="20" dy="20" /> <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" /> <feBlend in="SourceGraphic" in2="blurOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f3)" /> </svg>
توضيح الكود:
- <feOffset> عامل in يتم تغييره إلى "SourceAlpha"، مما يستخدم قناة Alpha بدلاً من كل جزيء RGBA للتباين
مثال 4
الآن، قم بمعالجة الظل بلون واحد:
هذا هو كود SVG:
<svg height="140" width="140"> <defs> <filter id="f4" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" /> <feColorMatrix result="matrixOut" in="offOut" type="matrix" values="0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0" /> <feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="10" /> <feBlend in="SourceGraphic" in2="blurOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f4)" /> </svg>
توضيح الكود:
- <feColorMatrix> الملفتر في استخدامه لتحويل ألوان الصورة المنحرفة إلى اللون الأسود. يتم ضرب القيم الثلاثة '0.2' في القنوات الحمراء والخضراء والأزرق. تقليل القيم يجعل الألوان أقرب إلى الأسود (الأسود هو 0)
- الصفحة السابقة حجب SVG
- الصفحة التالية التدرج الخطي في SVG