Şəkilləri Müqayisə etmək üçün Açıq Mənbə JavaScript API
JavaScript Kitabxanası Proqram proqramçılarına Node və ya brauzerlər kimi müxtəlif mühitlərdə iki şəkli müqayisə etməyə imkan verir.
Bəzən iki şəklin nə qədər oxşar olduğunu görmək üçün müqayisə etmək tələb olunur. Bu, çox mürəkkəb bir prosesdir və onu həyata keçirmək üçün yaxşı bilik tələb olunur. Açıq mənbəli pixelmatch kitabxanası istənilən mühitdə iki şəkli müqayisə etmək üçün çox faydalı seçim ola bilər. Kitabxananın heç bir asılılığı olmadığı və təsvir məlumatlarının xam tipli massivləri üzərində işlədiyi üçün, Node və ya brauzerlər kimi bir çox mühitdə istifadə edilə bilər.
Pixelmatch ölçüsü çox kiçikdir və istifadəsi çox sadədir, lakin çox sürətli piksel səviyyəsində görüntü müqayisəsi kitabxanasıdır. O, JavaScript-də yazılmışdır və əvvəlcə testlərdə ekran görüntülərini müqayisə etmək üçün yaradılmışdır. Kitabxana anti-aliased piksel aşkarlanması və perseptual rəng fərqi ölçüləri kimi xüsusiyyətləri dəstəkləyir.
Anti-aliasing aşkarlanması çox faydalı xüsusiyyətdir, çünki adətən eyni məlumatı müxtəlif proqramlarda, cihazlarda və ya əməliyyat sistemlərində göstərməyin bir qədər fərqli nəticələr yarada biləcəyi müşahidə edilmişdir. Ancaq daha çox mənalı məlumatları əldə etmək üçün bu kiçik fərqlərə və ya testlərə məhəl qoymamaq tövsiyə olunur.
Pixelmatch ilə işə başlayın
Pixelmatch quraşdırmanın tövsiyə olunan yolu NPM vasitəsilədir. Quraşdırmaq üçün aşağıdakı əmrdən istifadə edin.
NPM vasitəsilə pixelmatch quraşdırın
npm install pixelmatch
Pixel Match Testi nədir?
Əgər aralarında hər hansı fərqin olub olmadığını yoxlamaq üçün iki şəkli müqayisə etmək lazımdırsa, bu məqsədlə piksel uyğunluğu testindən istifadə edə bilərsiniz. İki növ şəkil ola bilər, orijinal şəkil və dəyişdirilmiş şəkil. Siz tətbiqinizin ekran görüntüsündən şəkilləri əldə edə bilən proqramdan istifadə edə bilərsiniz və bundan sonra bu şəkilləri müqayisə etmək və nəticələri göstərmək üçün şəkil müqayisəsi kitabxanasından istifadə edə bilərsiniz.
JavaScript Kitabxanası vasitəsilə şəkillərin müqayisəsi
Pixelmatch açıq mənbə kitabxanası JavaScript proqramları daxilində şəkilləri asanlıqla müqayisə etmək üçün tam funksionallıq təmin etmişdir. Proqram tərtibatçıları müqayisə üçün görüntü məlumatlarını, eləcə də fərqliliklərlə şəkil məlumatlarını yazmaq üçün lazım olan çıxış yerini təmin etməlidirlər. Onlar həmçinin üç təsvirin eni və hündürlüyü olan ölçüsü təmin etməlidirlər. Şəkillərin bir qədər fərqli olmasına imkan verən hədd seçimindən istifadə edə bilərsiniz, bu da bəzi hallarda əla ola bilər. Nəzərə alın ki, pixelmatch kitabxanası şəkillərin eyni ölçüdə olmasını tələb edir.
JavaScript API vasitəsilə şəkillərin onlayn müqayisəsi
const img1 = img1Context.getImageData(0, 0, width, height);
const img2 = img2Context.getImageData(0, 0, width, height);
const diff = diffContext.createImageData(width, height);
pixelmatch(img1.data, img2.data, diff.data, width, height, {threshold: 0.1});
diffContext.putImageData(diff, 0, 0);
Pixelmatch vasitəsilə Node.js-də Şəkilləri müqayisə edin
const fs = require('fs');
const PNG = require('pngjs').PNG;
const pixelmatch = require('pixelmatch');
const img1 = PNG.sync.read(fs.readFileSync('img1.png'));
const img2 = PNG.sync.read(fs.readFileSync('img2.png'));
const {width, height} = img1;
const diff = new PNG({width, height});
pixelmatch(img1.data, img2.data, diff.data, width, height, {threshold: 0.1});
fs.writeFileSync('diff.png', PNG.sync.write(diff));