Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

How to get hex string of brush after changing opacity?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    How to get hex string of brush after changing opacity?

    hello,

    Does anybody know how to retrieve the 8 digit hex string of a brush after changing its opacity?

    for example:
    Code:
    Brush OpaceBrush              = this.Stroke.Brush.Clone();
    Print(OpaceBrush.ToString());
    OpaceBrush.Opacity           = 0.1;
    Print(OpaceBrush.ToString());
    Both print outs return the exact same value. The 2nd print out does not reflect any change in opacity/alpha.


    Thanks!

    #2
    Hello gubbar924,

    From my understanding using System.Windows.Media.Brush.ToString() would print the solid color brush color which is a solid fill color.

    If you print the .Opacity property, are you finding this is not changing to the set value?

    Print(OpaceBrush.Opacity);
    Chelsea B.NinjaTrader Customer Service

    Comment


      #3
      Chelsea,

      I ran the following code
      Code:
      Brush OpaceBrush              = this.Stroke.Brush.Clone();
                          Print(OpaceBrush.ToString());
                          OpaceBrush.Opacity              = 0.05;
                          Print(OpaceBrush.Opacity);
                          Print(OpaceBrush.ToString());
                          OpaceBrush                      = null;
      and it resulted in
      #FF1E90FF
      0.05
      #FF1E90FF
      However, I do know that after changing the Opacity property, if I set the color of something like:
      Code:
      Something.Background = OpaceBrush;
      It does in fact use the changed opacity correctly, but it still wont give me the new hex value.

      Comment


        #4
        Hello gubbar924,

        From my understanding, in C# the Brush.ToString() prints the solid fill color hexadecimal. This would not include opacity.
        Chelsea B.NinjaTrader Customer Service

        Comment


          #5
          Hi Chelsea,

          I think I've figured out what I'm looking for.


          Just in case anybody else needs it, here is an example code:
          Code:
                              Brush OpaceBrush              = this.Stroke.Brush.Clone();
                              Print(OpaceBrush.ToString());
                              OpaceBrush.Opacity              = 0.05;
                              Print(OpaceBrush.Opacity);
                              Print(Environment.NewLine);
                              
                              Color nw  = ((SolidColorBrush)OpaceBrush).Color;
                              Print(nw.ToString());
                              nw.A = (byte)(OpaceBrush.Opacity * 255);
                              Print(nw.A);
                              Print(nw.ToString());
                              
                              OpaceBrush                      = null;
          Now, I get a new hex code value:
          #FF1E90FF
          0.05

          #FF1E90FF
          12
          #0C1E90FF
          Thanks!

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by CyberNate, Today, 03:11 PM
          3 responses
          18 views
          0 likes
          Last Post CyberNate  
          Started by NinjaTrader_ChrisL, Today, 03:44 PM
          0 responses
          4 views
          0 likes
          Last Post NinjaTrader_ChrisL  
          Started by TheBean236, Today, 12:57 PM
          5 responses
          17 views
          0 likes
          Last Post TheBean236  
          Started by DTSSTS, Today, 09:59 AM
          7 responses
          39 views
          0 likes
          Last Post DTSSTS
          by DTSSTS
           
          Started by Kirk Thorns, Today, 12:46 PM
          2 responses
          10 views
          0 likes
          Last Post Kirk Thorns  
          Working...
          X