Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

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 funk10101, Today, 09:43 PM
          0 responses
          3 views
          0 likes
          Last Post funk10101  
          Started by pkefal, 04-11-2024, 07:39 AM
          11 responses
          36 views
          0 likes
          Last Post jeronymite  
          Started by bill2023, Yesterday, 08:51 AM
          8 responses
          44 views
          0 likes
          Last Post bill2023  
          Started by yertle, Today, 08:38 AM
          6 responses
          26 views
          0 likes
          Last Post ryjoga
          by ryjoga
           
          Started by algospoke, Yesterday, 06:40 PM
          2 responses
          24 views
          0 likes
          Last Post algospoke  
          Working...
          X