In tikz, is there a way using a scope environment of some form to "dim" a group of elements?

By "dim", I mean that for every color (be it stroke, fill, or font):

```
I want the color (R,G,B)!x to be mapped to (R,G,B)!(x/2)

```

Concrete examples:

```
black!100 => black!50;
blue!100 => blue!50;
blue!60 => blue!30;

```

Please let me know if there is anyway I can improve this question to meet standards.