Есть ли лучший способ вычесть 2 растровых изображения? - PullRequest
0 голосов
/ 08 мая 2020

пользователь dr aws изображение на другом обведенном изображении, наконец, когда он закончил, я хочу вычесть контурное изображение из нарисованного изображения, чтобы уменьшить размер сохраненного изображения в базе данных sqlite.

Я просто делаю это, потому что логично не иметь повторяющихся данных в каждом сохраненном элементе, поэтому вот что я думаю сделать

Bitmap SubtractBitmap(Bitmap originalImg, Bitmap otherImg)
{
    Bitmap result = new Bitmap(originalImg);

    for (int i = 0; i < result.Height; i++)
    {
        for (int j = 0; j < result.Width; j++)
        {
            if (otherImg.GetPixel(j, i) != System.Drawing.Color.Transparent)
            {
                result.SetPixel(j,i,System.Drawing.Color.Transparent);
            }
        }
    }

    return result;
}

, и я, вероятно, сжимаю его после этого, поэтому я думаю, что прозрачные пиксели уменьшат размер, поскольку исходное изображение, вероятно, будет иметь 50% или более прозрачных пикселей

...