Things can lose their crispness when you drag them due to the fact that it's done via floats rather than ints. When you release the drag, it should even out to an integer value though.
Vector3 p = Camera.main.ScreenToWorldPoint(Input.mousePosition);
this.transform.position = p;
The following code results in the fuzzy image. When I try to round p to either 0.5 or a full number, movement will not occur when dragging the image.
For example, this.transform.position = new Vector3(Mathf.Round (p.x), Mathf.Round(p.y), p.z); does not move the image because rounding will keep rounding the number down before it can move, making it impossible to move. Likewise, usint Mathf.CeilToInt has the same problem, and FloorToInt also same problem.
My brain is fried right now after a long day of moving, any suggestions on how to overcome this issue?