Guten Tag,
ich versuche im Moment die Größe eines GraphicsPath an ein Rectangle anzupassen. Leider sind meine Ergebnisse bislang mehr schlecht als recht. Und ich komm nicht drauf wie ich das am besten umsetzen kann.
Bislang versuche ich das Prozentual umzurechnen. Allerdings ohne erfolg, mein Ergebniss sieht so aus
Spoiler anzeigen
GraphicsPath
Berechnung
Wie rechne ich denn das ganze am besten um?
ich versuche im Moment die Größe eines GraphicsPath an ein Rectangle anzupassen. Leider sind meine Ergebnisse bislang mehr schlecht als recht. Und ich komm nicht drauf wie ich das am besten umsetzen kann.
Bislang versuche ich das Prozentual umzurechnen. Allerdings ohne erfolg, mein Ergebniss sieht so aus
GraphicsPath
C#-Quellcode
- private Bitmap CreateMarquee(RectangleF boundingRect)
- {
- Bitmap bmp = new Bitmap((int)boundingRect.Width, (int)boundingRect.Height);
- using (Graphics g = Graphics.FromImage(bmp)) {
- g.Clear(Color.Aquamarine);
- using (GraphicsPath gp = new GraphicsPath()) {
- gp.AddLines(new PointF[] {
- new PointF(CalculateSize(boundingRect.Width,10),0),
- new PointF(CalculateSize(boundingRect.Width,20f), CalculateSize(boundingRect.Height,2f)),
- new PointF(0,CalculateSize(boundingRect.Height,4f)),
- new PointF(CalculateSize(boundingRect.Width,15f),CalculateSize(boundingRect.Height,7f)),
- new PointF(CalculateSize(boundingRect.Width,40f),CalculateSize(boundingRect.Height,7f)),
- new PointF(CalculateSize(boundingRect.Width,55),CalculateSize(boundingRect.Height,4)),
- new PointF(CalculateSize(boundingRect.Width,35f),CalculateSize(boundingRect.Height,2f)),
- new PointF(CalculateSize(boundingRect.Width,45f),0)
- });
- gp.CloseFigure();
- g.SmoothingMode = SmoothingMode.AntiAlias;
- LinearGradientBrush brush = new LinearGradientBrush(boundingRect, Color.Black, Color.Black, 0f);
- brush.InterpolationColors = CreateColorBlend(Color.Red, Color.Red);
- g.FillPath(brush, gp);
- }
- }
- return bmp;
- }
Berechnung
Wie rechne ich denn das ganze am besten um?