Support of creation of circles/bullets

Hi support,I have a question if it is possible to do it. I want to create a circle with an arrow inside or bullet.

DoubtCirclewithArrow.jpg (40.9 KB)

As seen in the image, I am replacing texts that may have more or fewer words, it is dynamic, on the left side is the original psd with the original texts, on the right side is the changed psd where I want to save it in a variable to later replace it with another text that can have a different length.

So I need to create a variable with the text and next to that circle with the arrow. Is it possible to create that circle? Thanks

Could you please clarify some details. Do you need to change text, but the margin from text to the circle with a arrow should stay unchanged? Or do you need create a new one pair of text and circle with a arrow?

Thank you for answer me, I need to create a new one pair of text and circle with an arrow, and they should be the same size.

@cristianortegaethofy Try to use this code and files to solve your issue:

string src = "269982.psd";
string output = "out_269982.psd";

using (var psdImage = (PsdImage)Image.Load(src))
{
    var shapeLayer0 = psdImage.Layers[2];

    // Create new text layer
    var textLayer = psdImage.AddTextLayer("Shop now", new Rectangle(500, 500, 200, 100));
    textLayer.TextData.Items[0].Style.FontSize = 30;
    textLayer.TextData.UpdateLayerData();
    
    // Copy shape layer
    var shapeLayer = psdImage.AddRegularLayer();
    shapeLayer.Resize(shapeLayer0.Width, shapeLayer0.Height);
    shapeLayer.SaveArgb32Pixels(shapeLayer0.Bounds, 
    shapeLayer0.LoadArgb32Pixels(shapeLayer0.Bounds));

    // Resize shape to text layer
    int newHeight = (int)Math.Round(textLayer.Height * 0.75d);
    shapeLayer.ResizeHeightProportionally(newHeight, ResizeType.LanczosResample);
    
    // Move shape next to text
    var shapeSize = shapeLayer.Size;
    shapeLayer.Left = textLayer.Right + 10; // + 10 additional space between text and shape
    shapeLayer.Right = shapeLayer.Left + shapeSize.Width;
    shapeLayer.Top = textLayer.Top;
    shapeLayer.Bottom = shapeLayer.Top + shapeSize.Height;
    
    psdImage.Save(output);
}

269982.zip (48.0 KB)