.....
const angle=15;
top=25;
name='LAZARUS';
Ari = 'Arial';
var
.....
dest := TBGRABitmap.create(300, 80,CSSSkyBlue);
SetFineFont(dest,[fsBold],55,Ari);
shader := TPhongShading.Create;
renderer := TBGRATextEffectFontRenderer.Create(shader,True);
dest.FontRenderer := renderer;
shader.LightPositionZ := 80;
shader.LightSourceIntensity := 250;
shader.LightPosition := Point(150,0);
shader.SpecularFactor := 0.5;
renderer.OutlineVisible := true;
renderer.OutlineWidth := 2;
renderer.OuterOutlineOnly := false;
renderer.OutlineColor := CSSDarkSlateBlue;
ts := dest.TextSize(name);
x := dest.width div 2 - ts.cx div 2;
startx := x;
s := name;
for i := 1 to length(s) do // only ASCII
begin
case i mod 4 of
1,3: dest.TextOutAngle(x,top, -10,copy (s,i,1),CSSRed,taLeftJustify);
2: dest.TextOutAngle(x-7,top+5, +angle*10,copy(s,i,1),CSSRed,taLeftJustify);
0: dest.TextOutAngle(x+7,top-5, -angle*10,copy(s,i,1),CSSRed,taLeftJustify);
end; // case
x := x+dest.TextSize(copy(s,i,1)).cx-9;
end;
.....