Placing text over a rectangle using graphics


I need to add some text to rectangles that I am using as a scale bar. I want the text right above the rectangle and centered. Here’s my code:

Show[{Graphics[{Red, Rectangle[{0, 0}, {45, 15}]}, ImageSize -> 48],    Graphics[Text[Style["TEXT", 12, "TR", Black, Bold]]]}] 

enter image description here

Desired result:

enter image description here

How can I do that?

Edit: Ideally it should also work if the text is longer than the scale bar, like so:

Graphics[{Red, Rectangle[{0, 0}, {19, 15}],    Text[Style["TEXT", 14, "TR", Black, Bold], {10, 22}]},   ImageSize -> 19] 

The bar crops some of the text: enter image description here