Witam,
Czy ktoś z was wie może jak używać funkcji do manipulacji obrazem na płótnach w aplikacjach multi-devices?
Długo szukałem ale nie udało mi się znaleźć nawet głupiego rysowania linii które by działało.
0
0
https://stackoverflow.com/questions/40677671/how-to-draw-a-line-in-delphi-on-an-fmx-canvas
A tak ogólnie do samej linii to w FMX istnieje coś takiego jak TLine (normalnie drag&drop z ToolPalette->Shapes)
0
Dzięki za odpowiedź. Teraz mam kolejny problem, a mianowicie z drukowaniem tekstu.
Nigdzie nie mogę znaleźć jak pozbyć się anti-aliasing z drukowanego tekstu na płótnie. Trochę to ironiczne bo dekadę temu szukało się jak ten efekt uzyskać :(
Jest mi to potrzebne gdyż generuję obrazek wielkości 50x50 px i czcionką 10 napis jest paskudnie rozmyty na tablicy RGB. Może też czcionka (Times New Roman) się do tego nie nadaje.
var
B: TBitmap;
f: TFont;
begin
B := TBitmap.CreateFromFile('036.bmp');
f := TFont.Create;
try
f.Family := 'Times New Roman';
f.Size := 10;
f.Style := [];
B.Canvas.BeginScene;
B.Canvas.Fill.Color := TAlphaColorRec.yellow;
B.Canvas.Font.Assign(f);
B.Canvas.Blending := false;
B.Canvas.Stroke.Kind := TBrushKind.none;
B.Canvas.Stroke.Thickness := 0;
B.Canvas.FillText(TRectF.Create(0, 0, 50, 50), 'TEST', false, 1, [],
TTextAlign.Leading, TTextAlign.Center);
B.Canvas.EndScene;
B.SaveToFile('c.bmp');
finally
B.Free;
f.Free;
end;
end;
Aktualnie wygląda to u mnie tak, próbowałem manipulować Blending, Stroke oraz kilka innymi ale widać było efektów.