السلام عليكم
أبحث عن كود من أجل إستخلاص الألوان من صور المواضيع تلقائيا ، بحيث يتغير لوم الخط (مثلا )تبعا للون الصورة كما في المثال :
والأفضل لو كان بالجيكوري
كنت سأقول لك استخدم عنصر Canvas وحلل الصورة و ..، بما أنك تريدُ حلًا سهلًا بـJQuery استخدم هذه المكتبة (إضافة لـJquery):
هذا الكود يعمل فقط إذا كانت الصورة بشكل base64
لا، تعمل مع جميع عناصر img الروابط وغيرها؛ جربتها الآن.
الخطأ أنّه لا يسمح لك استخدام الصورة المتصفح الحديث يطلب أن يُسمح لك من قبل الخادم قبل تعديل الصورة أو الوصول لمعلوماته يجب أن يرسل الخادوم شيء مثل "Access-Control-Allow-Origin *" في ترويسة الـHTTP عمومًا لن تحدث المشكلة في موقع برمجتَه وكانت الصورة على نفس النطاق [1] :
سيظهر خطأ مثل:
Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
لهذا الإضافة ترجع قيمة صفرية عندما يحدث هذا الخطأ، جربها في متصفح قديم أو عطل الأمان في متصفحك؛ وستعمل بدون أي مشاكل، إذا كنت ستعرض الصور من خادمٍ لك لا تصدع رأسك بهذه المشكلة.
ليس شرطا ، أظنني وجدت عملا لأحدهم يعمل برابط img
تعمل لأنّ الخادوم في حالة هذه الصورة أرسل:
access-control-allow-origin:*
في مثالك هذا مع الصورة السّابقة في المثال الذي لم يعمل لن تعمل أيضًا، أنظر نفس الصورة تعمل في المثال الأول -فقط أضفتُ crossorigin="anonymous" إلى وسم الصورة كما هي موجودة في مثالك أيضًا كي أطلب من المتصفح والخادم استخدام الـCross Domain راجع الرابط في تعليقي السابق-:
لكن إذا جعلتها الصورة السّابقة لن تعمل.
رابط المكتبة التي وضعها @يوسف سيد تحلل الصورة و نتيجتها لون قيمته متوسط ألوان الصورة، و جربتها مع base64 و رابط مباشر للصورة، و كلاهمها يعمل بشكل سليم
في نفس رابط المكتبة للجواب الاساسي في stackoverflow، تحدثوا عن مكتبة أخرى تحلل الصورة و نتيجتها لون قيته أكثر لون مستخدم في الصورة، و هي مكتبة Color Thief و رابطها
لا تعمل بشكل صحيح
راجع رد يوسف
@يوسف سيد @ahmedsaoud31 هل من طريقة لتحويل روابط الصور غلى base64 تلقائيا بالجيكوري
حمل الصورة وارفعها على الخادم الخاص بك لقد بحث في النت لم اجد الا ان تقوم بتعطيل عن طريق المتصفح
لكروم :
واعتقد ان هذا ليس بحل
التعليقات