Смешивание изображений Lumia Imaging SDK создает разделительные линии
Я пытаюсь создать мозаичный фон с помощью Lumia Imaging SDK.JpegTools.BlendAsync()
метод. Я вызываю метод в цикле, чтобы объединить все мозаичные изображения. Подход работает, но есть нежелательные строки в выходном изображении. Эти разделительные линии появляются на границах одиночного мозаичного изображения; слияние не чистое.
Мой код прилагается. Я делаю что-то неправильно по логике или это ошибка в SDK?
bitmapSource
это единственная плитка,jpegSource
является пустым макетом, который заполнен плиткой, иbgSize
размер размеров фона.
async private static Task<IBuffer> CreateTile(IBuffer jpegSource, IReadableBitmap bitmapSource, Size tileSize, Size bgSize)
{
int outBgWidth = (int)bgSize.Width;
int outBgHeight = (int)bgSize.Height;
int tileWidth = (int)tileSize.Width;
int tileHeight = (int)tileSize.Height;
int currentBgWidth = 0;
int currentBgHeight = 0;
Point blendPosition = new Point(0, 0);
while (currentBgHeight < outBgHeight)
{
while (currentBgWidth < outBgWidth)
{
jpegSource = await JpegTools.BlendAsync(jpegSource, bitmapSource, blendPosition);
blendPosition.X += tileWidth;
currentBgWidth += tileWidth;
}
blendPosition.Y += tileHeight;
currentBgHeight += tileHeight;
currentBgWidth = 0;
blendPosition.X = 0;
}
return jpegSource;
}