Lumia Imaging SDK-Bildmischung erstellt Trennlinien
Ich versuche, mit dem Lumia Imaging SDK einen gekachelten Hintergrund zu erstellen.JpegTools.BlendAsync()
Methode. Ich rufe die Methode in einer Schleife auf, um alle gekachelten Bilder zusammenzuführen. Der Ansatz funktioniert, aber das Ausgabebild enthält unerwünschte Linien. Diese Trennlinien erscheinen an den Grenzen des einzelnen Kachelbildes. Das Zusammenführen ist nicht sauber.
Mein Code ist beigefügt. Mache ich logisch etwas falsch oder ist dies ein Fehler im SDK?
bitmapSource
ist die einzelne Kachel,jpegSource
ist das leere Layout, das von der Kachel ausgefüllt wird, undbgSize
ist die Größe der Abmessungen des Hintergrunds.
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;
}