Ich habe viel mit einigen gläsernen Bildern experimentiert, wie dem hier unten, und ich habe gedacht, dass es eine Art geben muss, wie ich das in Code schreiben kann, damit ich es beliebig einfärben kann. Es muss nicht 100% genau wie das Bild unten aussehen, aber ich möchte etwas Code schreiben, um das Oval und den Glaseffekt zu zeichnen (Steigung mit einigen wirklich fantastischen Berechnungen). Ich muss deutlich feststellen, dass ich mit Mathe schrecklich bin, und ich weiß, dass dies einige knifflige Formeln erfordert.
Beispiel für das, woran ich gerade arbeite:
Der Rand des Ovals ist der einfache Teil, der Verlauf, der innerhalb des Ovals von oben nach unten verläuft, ist auch ziemlich einfach - aber wenn es darum geht, die Ränder so zu bleichen, dass sie oben und an den Seiten glasig aussehen habe keine Ahnung, wie ich das machen soll.
Linkes Originalbild:
Ob jemand mich auf ein gutes Tutorial dafür hinweisen kann, oder wenn jemand es demonstrieren möchte, wäre entweder sehr geschätzt.
Hier ist die Prozedur, die ich bisher verwendet habe:
%Vor%Zutaten benötigt:
AlphaBlend
für den gläsernen Effekt, GradientFill
für die obere Gradientenellipse, MaskBlt
zum Ausschließen nicht rechteckiger bereits gezogener Teile beim Zeichnen , Es ist wirklich notwendig, die Zeichenaufgabe in kleinen Schritten aufzuteilen und in die richtige Reihenfolge zu bringen. Dann ist das nicht so unmöglich, wie es auf den ersten Blick scheinen mag.
Im folgenden Code verwende ich drei temporäre Bitmaps, um das Endziel zu erreichen:
Ich mag keine Kommentare im Code, aber ich denke, es spricht für sich selbst:
%Vor%
Beispielcode, um das obige zu erzeugen (plazieren Sie ein TImage
-Steuerelement im Hintergrund):
Tweak wie du willst.