Hallo zusammen,
ich habe das Ziel, Grafiken im Stil der angehängten Screenshots zu zeichnen.
Beispiel 1:
kein Problem - Brush.Color auf den Blauton setzen und ein RoundRect zeichnen. Das Ausfüllen erfolgt automatisch.
Hinterher noch mit LineTo die Linien drüber und gut ist.
Delphi-Quellcode:
MyCanvas.Brush.Color := clBlue;
MyCanvas.RoundRect(iX1, iY1, iX1 + iX2, iY + iY2, iRundung, iRundung);
Beispiel 2:
Kriege ich gerade noch so hin, obwohl der Weg ziemlich umständlich ist
Delphi-Quellcode:
//ausgefülltes RoundRect oben zeichnen und Höhe um die Länge der Rundung erhöhen
MyCanvas.Pen.Color := StringToColor(sRahmenfarbe);
MyCanvas.Brush.Color := StringToColor(sHintergrundfarbe);
MyCanvas.RoundRect(iX1, iY1, iX1 + iX2, iY1 + iHöheFarbe + iRundung, iRounding, iRounding);
//Rechteck drübermalen, um innere Rundungen zu vermeiden
MyCanvas.Brush.Color := clNone;
MyCanvas.FillRect(Rect(iX1, iY1 + iHöheFarbe, iX1 + iX2, iY + iHöheFarbe + iRundung));
//unausgefülltes RoundRect zeichnen, um den Rahmen zu bekommen
MyCanvas.Brush.Color := clWhite;
MyCanvas.RoundRect(iX1, iY1, iX1 + iX2, iY + iY2, iRundung, iRundung);
Habe es auch mit FloodFill versucht, das haut aber irgendwie überhaupt nicht hin
Bei Beispiel 3 habe ich gar keinen Ahnung
Also,
zu 1 - sollte klar sein.
zu 2 - unschön - müsste doch auch besser gehen, oder?
zu 3 - geht soetwas überhaupt, ohne große Umstände? Und wenn ja - wie?
Edit: musste noch die Linien in die Bilder einfügen