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