Как сравнить два изображения, чтобы узнать, являются ли они одним и тем же изображением, используя C # и jquery?C#

Место общения программистов C#
Ответить
Anonymous
 Как сравнить два изображения, чтобы узнать, являются ли они одним и тем же изображением, используя C # и jquery?

Сообщение Anonymous »

При использовании VS2022, C#, Blazor и jquery код сначала загружает «C:\Images\defaultImage.png» в область холста на странице:


await JS.InvokeVoidAsync("loadImageOnCanvas", "CanvasId", "/scripts/defaultImage.png");

Затем в определенный момент мне нужно знать, остается ли изображение на холсте таким же, как первое загруженное (defaultImage,png), что означает, что оно не было изменено пользователем. .
ПРИМЕЧАНИЕ. Это простое черно-белое изображение размером всего 27 КБ и размером 241 x 154 пикселей.
Чтобы проверить это, я использую приведенный ниже код, но когда оба сравниваютсяони никогда не равны. Тот, что с холста, всегда немного больше по размеру, около 1к.
// Retrieve the image that was loaded on canvas
var canvasImage = await JS.InvokeAsync("captureCanvasImage", "CanvasId");
canvasImage = canvasImage.Replace("data:image/png;base64,", String.Empty);

// byte[27980]
byte[] imageOnCanvas_Bytes = Convert.FromBase64String(canvasImage);

// byte[26978]
byte[] defaultImage_Bytes = File.ReadAllBytes("wwwroot/scripts/defaultImage.png");

// Compare as string returns FALSE
var result = canvasImage == Convert.ToBase64String(defaultImage_Bytes);

// Compare byte arrays returns FALSE
var result2 = imageOnCanvas_Bytes.SequenceEqual(defaultImage_Bytes);


Подробнее здесь: https://stackoverflow.com/questions/788 ... p-and-jque
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»