0

我在 C# 的后台任务中使用 Tim Jones 的 DynamicImage 库的分支。

动态图像

一切都很好,除了隔离图层效果。在下面的示例中,来自“firstLayer”的过滤器也应用于“secondLayer”。我需要第二层在顶部,但只固定在底部。两个图像都是PNG,只有“secondLayer”具有透明度。如何确保过滤器不会影响其他图层?

Composition composition = new Composition();


//Create Layer 1 --------------
var firstLayer = LayerBuilder.Image.SourceBytes(firstImageBytes);

//Rotate The Image
firstLayer.WithFilter(FilterBuilder.Rotate.To(180));

//Crop the image
firstLayer.WithFilter(FilterBuilder.Crop.X(50).Y(50));


//Create Layer 2 -----------
var secondLayer = LayerBuilder.Image.SourceBytes(secondImageBytes);


//Add both layers to the composition ---------------
composition.Layers.Add(firstLayer.ToLayer());
composition.Layers.Add(secondLayer.ToLayer());


// Anchor image 2 to the bottom
composition.Layers[1].Anchor = AnchorStyles.BottomCenter;

//Generate The Image
GeneratedImage generatedImage = composition.GenerateImage();


//I then convert the generatedImage to a byte[] and save it to Blob storage.

我在上面的代码上尝试了很多变体,过滤器似乎总是影响它们未应用的层。我确信我错过了一个重要的概念。有什么想法或建议吗?

4

0 回答 0