Stimmt die Angabe der benutzten
IDE (Delphi 2007) noch?
Mit einer neueren Delphi-Version (z.B. die kostenlose Rio-Community-edition) könntest Du auch FMX nutzen, da ist das mit wenigen Zeilen machbar, z.B. so:
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
var
bOld,bNew: TBitmap; AddHeight: Integer;
begin
AddHeight := 10;
bOld := TBitmap.CreateFromFile('D:\crossblue.png');
// New Bitmap ; Addheight = additional height for text
bNew := TBitmap.Create (bOld.Width, bOld.Height + AddHeight);
bNew.Canvas.BeginScene();
// Copy old Bitmap to new
bNew.Canvas.DrawBitmap(bold, bOld.BoundsF, RectF (0, AddHeight, bNew.Width, bNew.Height), 1, true);
// Add Text
bNew.canvas.ClearRect(RectF (0,0, bNew.Width, AddHeight), TAlphaColorRec.black);
bNew.Canvas.Fill.Color := TAlphaColorRec.white;
bNew.Canvas.Font.Size := 8;
bNew.Canvas.FillText(RectF (0,0, bNew.Width, AddHeight), 'Test', false, 1, [], TTextAlign.Center, TTextAlign.center);
bNew.Canvas.EndScene();
bNew.SaveToFile('D:\crossblue2.png');
bOld.Free;
bNew.Free;
end;
Wobei sich die Frage stellt, ob hier tatsächlich nur 5 Pixel als zusätzliche Höhe für den Text zur Verfügung stehen sollen? Das wird man kaum lesen können, in der Anlage mal ein Beispiel mit den 5 Pixeln (dann das Original) und 10 Pixeln zusätzlicher Höhe (auch vergrößert dargestellt).