Registriert seit: 28. Aug 2006
36 Beiträge
|
Image - Bitmap - Canvas
2. Aug 2014, 20:58
Hallo,
wieder mal ein Problem. Ich nutze Delphi XE5 für eine Android-App. Ich möchte in einem Image etwas zeichnen.
Ich lege eine TImage-Komponente auf das Formular (Größe: 500 (breit) x 400 (hoch)).
Wenn ich nun zeichne:
with Image1.Bitmap do
begin
Canvas.Stroke.Color := claRed;
Canvas.Stroke.Kind := TBrushKind.bkSolid;
Canvas.StrokeThickness:= 20;
Canvas.BeginScene;
Canvas.DrawLine(pt0,pt1,100);
Canvas.Stroke.Color := claBlue;
Canvas.DrawLine(pt2,pt3,100);
Canvas.EndScene;
end;
kann ich die Punkte so setzen, dass die Linien am Rand beginnen. Durch Testen komme ich bei roten horizontalen Linie auf
x-Wert von 1 bis 332 und bei der blauen vertikalen Linie auf y-Werte von 1 bis 266.
Die Differenz zu Höhe und Breite kann ich mir nicht erklären. Ich habe folgende Eigenschaften der Image-Komponente gesetzt:
Align - alNone
MultiResBitmap - Größe nach Bild / Skalierung 1.0
Scale - X 1 / Y 1
WrapMode - iWOriginal
Sicher versteckt sich irgendwo noch eine Skalierung oder ein Faktor, den ich übersehe. Vielleicht hat jemand eine Idee?
Gruß
Geosucher
Ach so im FormCreate setze ich:
Image1.Bitmap.SetSize(Round(Image1.Width),Round(Im age1.Height));
Image1.Bitmap.Clear(TAlphaColors.White);
Geändert von geosucher ( 2. Aug 2014 um 21:13 Uhr)
|