لون جافا سكريبت المتوسط

متوسط ​​لون الفاكهة


في العمل ، قمت بعمل نشرة من الصور. النص المصاحب ، تقرر وضع متوسط ​​لون الصورة. موضوع اللون المتوسط ​​مهتم ، وقررت
تعرف على الخيارات الأخرى التي يمكنك استخدامها في التخطيط.


الخلفية


نحسب متوسط ​​لون الصورة ونحدد لون الخلفية. مثال


الخلفية


التدرج


يتم حساب متوسط ​​اللون في أعلى أو أسفل الصورة ويستخدم في الخلفية للنص. يتم تعيين تدرج ناعم بين الصورة والركيزة. نمط Yandex.Zen. مثال


التدرج


التدرج بنمط ماين كرافت - يتم حساب متوسط ​​اللون في أجزاء (خطوط أفقية). مثال


تدرج ماين كرافت


الإطار


مثل الرغيف الفرنسي في الصورة ، يتم حساب متوسط ​​اللون بشكل منفصل لكل جانب من جوانب الصورة.
مثال


الحدود


الظل


يتم استخدام متوسط ​​اللون المحسوب لتعيين لون الظل الساقط. مثال


ظل الصندوق


في CSS ، يمكن أن يكون للعنصر ظلال متعددة. لكل جانب من الصورة ، احسب متوسط ​​اللون وقم بتعيين ظل منفصل. مثال


ظل الصندوق ، 4 جوانب


فيديو


ينطبق المثال السابق في الديناميكيات على الفيديو. مثال


فيديو ، ظل صندوق ، 4 جوانب


قسّم جوانب الشاشة إلى عدد أكبر من الأجزاء (30) ، حيث نحسب متوسط ​​الألوان للظل المصبوب ، تمامًا مثل Philips Ambilight . مثال


فيديو Ambilight


صورة نصية


نملأ الصورة بالنص ، تحت كل رمز نحسب متوسط ​​اللون ونطبقه على الرمز. مثال


صورة نصية


استخدم


يتم حساب متوسط ​​اللون في الأمثلة باستخدام حزمة الألوان الصغيرة المتوسطة السريعة . عند حساب اللون ، تؤخذ الشفافية في الاعتبار. افتراضيًا ، يتم استخدام خوارزمية تربيعية ، لأن مع متوسط ​​بسيط ، يصبح اللون أغمق .


npm i -D fast-average-color


أمثلة


للحصول على متوسط ​​اللون من الصور ومقاطع الفيديو واللوحة التي تم تحميلها ، يتم استخدام طريقة .getColor () :


 <html> <body> ... <div class="image-container"> <img src="image.png" /> <div> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </div> </div> <script src="https://unpkg.com/fast-average-color/dist/index.min.js"></script> <script> window.addEventListener('load', function() { var fac = new FastAverageColor(), container = document.querySelector('.image-container'), color = fac.getColor(container.querySelector('img')); container.style.backgroundColor = color.rgba; container.style.color = color.isDark ? '#fff' : '#000'; console.log(color); // { // error: null, // rgb: 'rgb(255, 0, 0)', // rgba: 'rgba(255, 0, 0, 1)', // hex: '#ff0000', // hexa: '#ff0000ff', // value: [255, 0, 0, 255], // isDark: true, // isLight: false // } }, false); </script> </body> </html> 

وللصور قيد التحميل - .getColorAsync () :


 <html> <body> ... <div class="image-container"> <img src="image.png" /> <div> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </div> </div> <script src="https://unpkg.com/fast-average-color/dist/index.min.js"></script> <script> var fac = new FastAverageColor(), container = document.querySelector('.image-container'); fac.getColorAsync(container.querySelector('img'), function(color) { container.style.backgroundColor = color.rgba; container.style.color = color.isDark ? '#fff' : '#000'; console.log(color); // { // error: null, // rgb: 'rgb(255, 0, 0)', // rgba: 'rgba(255, 0, 0, 1)', // hex: '#ff0000', // hexa: '#ff0000ff', // value: [255, 0, 0, 255], // isDark: true, // isLight: false // } }); </script> </body> </html> 

للصور ومقاطع الفيديو من مجالات مختلفة ، لا تنسى CORS .


المراجع:


Source: https://habr.com/ru/post/ar419309/


All Articles