Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Unable to detect the color of ray

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

    Unable to detect the color of ray

    I am trying to detect a color of a ray or line that is manually drawn. The following describes the code I am using to detect the color of a ray object. I am drawing the ray on the chart and setting it to "Dark Red". The conditional statement comparing the color of the ray to Brushes.DarkRed never evaluates to True even though the print statement shows the values to be the exactly the same, "#FF8B0000". Not sure what I am doing wrong, but any assistance would be appreciated.

    Code:
    protected override void OnBarUpdate()
    {
    	//Add your custom indicator logic here.
    	foreach (DrawingTool draw in DrawObjects)
    	{
    		if (draw is DrawingTools.Ray)
    		{
    			DrawingTools.Ray myRay = draw as DrawingTools.Ray;
    			Print(string.Format("line color: {0}, Brushes.DarkRed: {1}",  myRay.Stroke.Brush, Brushes.DarkRed));
    			if (myRay.Stroke.Brush == Brushes.DarkRed)
    			{
    				myRay.Stroke.Brush = Brushes.Black;	
    			}
    					
    		}
    	}
    }
    Last edited by dp2002; 10-13-2016, 08:35 AM. Reason: corrected typo

    #2
    Hello,

    Thank you for the post.

    In this case, an == with the brush objects would likely result in an untended comparison. Instead you could compare the string of each brush:

    Code:
    if (Equals(myRay.Stroke.Brush.ToString(), Brushes.DarkRed.ToString()))
    {
    	myRay.Stroke.Brush = Brushes.Black;	
    }

    I look forward to being of further assistance.

    Comment


      #3
      That worked. Thank you.

      Comment


        #4
        Since were converting the values to strings, is there a benefit of using,

        if (Equals(myRay.Stroke.Brush.ToString(), Brushes.DarkRed.ToString())) {...}

        instead of,

        if (myRay.Stroke.Brush.ToString() == Brushes.DarkRed.ToString()) {...}

        Comment


          #5
          Hello,

          For a string not necessarily, I prefer to use Equals syntax because it is overload style syntax. Both would be acceptable for a string.

          I look forward to being of further assistance.

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by Geovanny Suaza, 02-11-2026, 06:32 PM
          0 responses
          669 views
          0 likes
          Last Post Geovanny Suaza  
          Started by Geovanny Suaza, 02-11-2026, 05:51 PM
          0 responses
          378 views
          1 like
          Last Post Geovanny Suaza  
          Started by Mindset, 02-09-2026, 11:44 AM
          0 responses
          111 views
          0 likes
          Last Post Mindset
          by Mindset
           
          Started by Geovanny Suaza, 02-02-2026, 12:30 PM
          0 responses
          575 views
          1 like
          Last Post Geovanny Suaza  
          Started by RFrosty, 01-28-2026, 06:49 PM
          0 responses
          580 views
          1 like
          Last Post RFrosty
          by RFrosty
           
          Working...
          X