unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Graphics,
LCLType, LCLIntf;
type
{ TForm1 }
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure GenerateImages(fonts: array of string; texts: array of string; fontSize: Integer; folderName: string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.GenerateImages(fonts: array of string; texts: array of string; fontSize: Integer; folderName: string);
var
bmp: TBitmap;
rect: TRect;
fileName: string;
i, j: Integer;
begin
bmp := TBitmap.Create;
try
for i := 0 to High(fonts) do
begin
for j := 0 to High(texts) do
begin
bmp.Width := 500;
bmp.Height := 100;
bmp.Canvas.Font.Name := fonts[i];
bmp.Canvas.Font.Size := fontSize;
fileName := IncludeTrailingPathDelimiter(folderName) + fonts[i] + ' ' + Copy(texts[j], 1, Pos(' ', texts[j]) - 1) + '.bmp';
bmp.Canvas.Brush.Color := clWhite;
bmp.Canvas.FillRect(bmp.Canvas.ClipRect);
bmp.Canvas.TextOut(0, 0, texts[j]);
bmp.SaveToFile(fileName);
end;
end;
finally
bmp.Free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// First batch
var fonts1 := ['Verdana', 'Roboto', 'Arial', 'Helvetica', 'sans-serif'];
var texts1 := ['Psalm 91:1', 'Slovo', 'AHK pro', 'Vygenerování zkušebních obrázků.', 'Vygenerování zkušebních obrázků.', 'Včera ráno, dnes odpoledne a v neděli večer'];
var fontSize1 := 22;
var folderName1 := 'TestImages_22.4px';
GenerateImages(fonts1, texts1, fontSize1, folderName1);
ShowMessage('První dávka zkušebních obrázků (22.4px) byla uložena do složky "' + folderName1 + '".');
// Second batch
var fonts2 := ['Verdana', 'Roboto', 'Arial', 'Helvetica', 'sans-serif'];
var texts2 := ['Text analysis', 'Slovo', 'AHK pro', 'Vygenerování zkušebních obrázků.', 'Vygenerování zkušebních obrázků.', 'Včera ráno, dnes odpoledne a v neděli večer'];
var fontSize2 := 16;
var folderName2 := 'TestImages_16px';
GenerateImages(fonts2, texts2, fontSize2, folderName2);
ShowMessage('Druhá dávka zkušebních obrázků (16px) byla uložena do složky "' + folderName2 + '".');
// Third batch
var fonts3 := ['Arial', 'Helvetica', 'Sans-serif'];
var texts3 := ['Strong''s', 'Hebrew', 'English', 'Morphology', 'Slovo', 'AHK pro', 'Vygenerování zkušebních obrázků.', 'Vygenerování zkušebních obrázků.', 'Včera ráno, dnes odpoledne a v neděli večer'];
var fontSize3 := 12;
var folderName3 := 'TestImages_12px';
GenerateImages(fonts3, texts3, fontSize3, folderName3);
ShowMessage('Třetí dávka zkušebních obrázků (12px) byla uložena do složky "' + folderName3 + '".');
// Fourth batch
var fonts4 := ['Arial', 'Helvetica', 'Sans-serif'];
var texts4 := ['Go to Parallel Hebrew', 'Slovo', 'AHK pro', 'Vygenerování zkušebních obrázků.', 'Vygenerování zkušebních obrázků.', 'Včera ráno, dnes odpoledne a v neděli večer'];
var fontSize4 := 16;
var folderName4 := 'TestImages_16px';
GenerateImages(fonts4, texts4, fontSize4, folderName4);
ShowMessage('Čtvrtá dávka zkušebních obrázků (16px) byla uložena do složky "' + folderName4 + '".');
end;
end.