واجهة برمجة تطبيقات Node.js مجانية لمقارنة الصور
واجهة برمجة تطبيقات مفتوحة المصدر تعتمد على Node.js لمقارنة الصور بكسلًا بكسلًا. حل قوي ومرن وفعال لمقارنة الصور في تطبيقات Node.js.
تلعب مقارنة الصور دورًا حيويًا في تطوير البرامج، وخاصة في مجالات مثل اختبار الانحدار البصري وضمان جودة الصورة والتحقق من التصميم المثالي للبكسل. سواء كنت تقوم بتطوير برنامج لضمان مظهر واجهة المستخدم المتسق عبر منصات متعددة أو أتمتة الفحوصات المرئية في خط إنتاج، فإن وجود أداة فعالة لمقارنة الصور أمر ضروري. LooksSame، وهي واجهة برمجة تطبيقات مفتوحة المصدر طورتها Gemini-Testing، تبسط عملية إنشاء برنامج لمقارنة الصور بميزاتها البديهية. هناك العديد من الميزات المهمة التي تشكل جزءًا من المكتبة مثل مقارنة الصور بكسلًا تلو الآخر، واكتشاف التنعيم، وتكوين التحكم في التسامح، والتعامل مع أبعاد الصورة، ودعم الوعود وغير ذلك الكثير.
LooksSame هي واجهة برمجة تطبيقات تعتمد على Node.js ومصممة لمقارنة الصور. وهي تسمح للمطورين بمقارنة الصور بكسلًا تلو الآخر، مع خيارات للتعامل مع الاختلافات الطفيفة التي قد تحدث بسبب الاختلافات في بيئات العرض. من خلال الاستفادة من المكتبة، يمكن لمطوري البرامج إنشاء تطبيقاتهم الخاصة التي تكتشف الاختلافات المرئية الكبيرة مع تجاهل الاختلافات التافهة. تركز واجهة برمجة التطبيقات بشكل أساسي على مساعدة المطورين في الحفاظ على الاتساق في تصميم واجهة المستخدم، لكن تنوعها يجعلها مناسبة للعديد من حالات استخدام مقارنة الصور الأخرى. بفضل واجهة برمجة التطبيقات البسيطة والخيارات القابلة للتخصيص، تعد LooksSame إضافة رائعة لمجموعة أدوات أي مطور، وخاصة لاختبار واجهة المستخدم المستندة إلى الويب، وإنشاء الصور تلقائيًا، وغيرها من السيناريوهات حيث تكون الدقة المرئية ذات أهمية قصوى.
البدء باستخدام LooksSame
الطريقة الموصى بها لتثبيت LooksSame هي استخدام NPM. يرجى استخدام الأمر التالي لتثبيت سلس.
تثبيت LooksSame عبر NPM
npm install looks-same
مقارنة الصور الأساسية في تطبيقات Node.js
تسهل مكتبة LooksSame مفتوحة المصدر على مطوري البرامج إجراء مقارنة أساسية للصور داخل تطبيقات Node.js. بمجرد التثبيت، يمكنك مقارنة صورتين من خلال طلب وحدة LooksSame في الكود الخاص بك. فيما يلي مثال أساسي يوضح كيفية استخدام المكتبة للتحقق مما إذا كانت صورتان متطابقتين بصريًا: في هذا المثال، تتم مقارنة image1.png وimage2.png. إذا كانتا متماثلتين بصريًا، فسوف تعيد قيمة equal القيمة true؛ وإلا، فسوف تعيد القيمة false.
كيفية مقارنة صورتين داخل تطبيقات Node.js؟
const looksSame = require('looks-same');
// Compare two images
looksSame('image1.png', 'image2.png', (error, { equal }) => {
if (error) {
console.error('Error comparing images:', error);
} else if (equal) {
console.log('Images are identical!');
} else {
console.log('Images differ!');
}
});
مقارنة الصور على أساس التسامح
بالنسبة للتطبيقات التي لا تتطلب تطابقات مثالية للبكسل، يمكن لمطوري البرامج إضافة مستوى تسامح. وهذا يسمح بتجاهل الاختلافات الصغيرة بين الصور، مثل التغييرات الناتجة عن العرض على متصفحات أو أنظمة تشغيل مختلفة. في مثال التعليمات البرمجية التالي، تم ضبط التسامح على 5%، مما يعني أن الاختلافات الصغيرة في البكسل (حتى 5%) لن تتسبب في اعتبار الصور مختلفة.
كيفية إجراء مقارنة الصور القائمة على التسامح داخل تطبيقات Node.js؟
cfunction compareWithTolerance(image1, image2, toleranceLevel) {
looksSame(image1, image2, { tolerance: toleranceLevel }, (error, { equal }) => {
if (error) {
console.error('Error comparing images:', error);
} else if (equal) {
console.log('Images are visually identical within tolerance!');
} else {
console.log('Images differ!');
}
});
}
// Usage
compareWithTolerance('image1.png', 'image2.png', 5); // 5% tolerance
تسليط الضوء على مناطق معينة من الاختلاف
بالنسبة للتطبيقات الأكثر تعقيدًا، قد يرغب مطورو البرامج في تحديد وتحليل مناطق معينة فقط من الاختلاف. توفر مكتبة LooksSame ميزة مربع تحديد تُظهر المنطقة المحددة التي تحدث فيها الاختلافات. تقوم هذه الوظيفة بإخراج إحداثيات مربع تحديد المناطق المختلفة، مما يجعل من الأسهل التركيز على أجزاء معينة من الصورة التي تغيرت. يوضح المثال التالي كيفية استخدام إحداثيات مربع تحديد لمقارنة الصور وتسليط الضوء على الاختلافات.
كيفية مقارنة وتحديد الاختلافات بين مناطق معينة من الصور عبر تطبيقات Node.js؟
function compareWithDiffBounds(image1, image2) {
looksSame(image1, image2, (error, { diffBounds }) => {
if (error) {
console.error('Error comparing images:', error);
} else {
console.log('Bounding box of differences:', diffBounds);
}
});
}
// Usage
compareWithDiffBounds('image1.png', 'image2.png');
اكتشاف التنعيم الدقيق لإجراء مقارنات دقيقة
تتيح مكتبة LooksSame مفتوحة المصدر لمطوري البرامج إجراء ضغط الصور باستخدام طريقة اكتشاف التنعيم داخل تطبيقات Node.js. يمكن أن يتسبب التنعيم في نتائج إيجابية خاطئة عند مقارنة الصور، لأنه يقدم اختلافات طفيفة في عرض الحواف. يساعد خيار ignoreAntialiasing في المكتبة على تجنب هذه النتائج الإيجابية الخاطئة. وهذا مفيد بشكل خاص للتطبيقات حيث قد يتم عرض الصور بشكل مختلف على أجهزة أو متصفحات مختلفة ولكنها لا تزال متماثلة بصريًا.