To keep an integer within certain bounds, currently I'm doing:
frame.X = frame.X <= 0 ? 0 : frame.X;
frame.X = frame.X + frame.Width > Image.Width ? Image.Width - frame.Width : frame.X;
frame.Y = frame.Y <= 0 ? 0 : frame.Y;
frame.Y = frame.Y + frame.Height > Image.Height ? Image.Height - frame.Height : frame.Y;
Is there a cleaner way for bound checking?