What you could try is manually clipping the Rect used for drawing.
public Rect ClipToBounds(Rect rect, Rect bounds)
Rect r = new Rect();
r.xMin = Mathf.Clamp(rect.xMin, bounds.xMin, bounds.xMax);
r.yMin = Mathf.Clamp(rect.yMin, bounds.yMin, bounds.yMax);
r.xMax = Mathf.Clamp(rect.xMax, bounds.xMin, bounds.xMax);
r.yMax = Mathf.Clamp(rect.yMax, bounds.yMin, bounds.yMax);
But note that this only work with solid color textures, as the uv coords may get skewed.