I’ve never used Graphics.DrawTexture, but I guess it hasn’t the same behaviour as GUI.DrawTexture when surrounded by GUI.BeginScrollView and GUI.EndScrollView.
Right, but Graphics is not part of GUI and thus will neither respect it nor work hand in hands with it.
UV texturing is not possible with the GUI classes in any form, but you can part fake it by usage of the area / group functions to limit the area thats drawn, then though you would potentially prefer using GUI.Label with the texture to position it.
In that case the usage of the area / group functions can work as replacement to clip what you draw.
If thats not an option then you will have to drop using gui altogether and use something like SM2 / EZGUI or another solution that works with real meshes, unity gui has no support for uv mapped.
also it makes no sense with unity gui in case your target is to reduce drawcalls and alike by creating a tileset, because you don’t get any drawcall reductions, every single GUI.xxxx command yields in an own drawcall even if you draw the same texture 20 times in a loop. (each of them internally results in an own Graphics.DrawMesh call like graphics.drawtexture does too)