Gui.drawtexture using center instead of corner for positioning

is there a way to use the center to align the Gui texture instead of the top left as is the standard. I am trying to draw Gui textures using GUI.DrawTexture, but using the top right to draw the location is really confusing to me. I have a minimap in the top right corner of my screen, and I am trying to use that width and height to base my Gui textures off of, but the locations are wack. It might be because my camera width and height variables are wrong, but I can't tell. Here is one of my textures that is not drawing in the desired location (this one was supposed to draw in the center of the camera):

GUI.DrawTexture(Rect(Screen.width-(camera3Width*0.5)-(mapMarkerRect*0.5),
                    (camera3Height*0.5)+(mapMarkerRect*0.5),
                    mapMarkerRect,mapMarkerRect),mapMarker);

My camera height and width variables were originally using this script:

camera3Width = Screen.width*0.21;
camera3Height = Screen.height*0.4;

I was using this because the numbers I am multiplying the screen size by were the normalized viewport rect height and width numbers of the camera (minimap). Is there a different way to find the camera size in pixels or center the Gui Textures?

I don't know that the GUI system provides any built-in support for what you describe. However, you could easily write a wrapper function to hide the details, so that you don't have to do all the math manually each time.