I'm currently attempting to Draw an image on a layer using Aspose.PSD. I have tried so many different ways to make this work.
Approach #1:
var customLayer = rawLayers.FirstOrDefault(r => r.Name == "customlayer");
var imageBytes = await _fileService.GetFile(baseFile.Id);
var overlayPsdFile = await _fileService.GetFile(file.Id);
await using var psdStream = new MemoryStream(overlayPsdFile);
using var psdImage = (PsdImage)Image.Load(psdStream);
{
await using var rootImageStream = new MemoryStream(imageBytes);
var layer = new Layer(rootImageStream);
psdImage.AddLayer(layer);
layer.MergeLayerTo(customLayer); <--- error here
// if I don't merge the layers, the below code throws an exception
await using var imageOutStream = new MemoryStream();
psdImage.Save(imageOutStream, new PngOptions());
}
Approach #2:
var customLayer = rawLayers.FirstOrDefault(r => r.Name == "customlayer");
var imageBytes = await _fileService.GetFile(baseFile.Id);
var overlayPsdFile = await _fileService.GetFile(file.Id);
using (var ms = new MemoryStream(imageBytes))
{
using (var img = (RasterImage)Image.Load(ms))
{
customLayer.DrawImage(new Point(0,0), img); // <-- error here
}
}

