private static void diffImages(BufferedImage goodImage, PixImage studentPixImage) {
    BufferedImage studentImage = ImageUtils.pixImage2buffer(studentPixImage);
    int diffCount = 0;
    System.out.println("The difference is:");
    if (studentImage.getWidth() != goodImage.getWidth()) {
      System.out.println("The width is " + studentImage.getWidth() + " but should be " + goodImage.getWidth());
      diffCount++;
    }
    if (studentImage.getHeight() != goodImage.getHeight()) {
      System.out.println("The height is " + studentImage.getHeight() + " but should be " + goodImage.getHeight());
      diffCount++;
    }
    for (int y = 0; y < goodImage.getHeight() && y < studentImage.getHeight(); y++) {
      for (int x = 0; x < goodImage.getWidth() && x < studentImage.getWidth(); x++) {
        if (goodImage.getRGB(x, y) != studentImage.getRGB(x, y)) {
          if (diffCount == MAX_PRINT_SIZE) {
            System.out.println("  ...");
            return;
          }
          System.out.println("  (" + x + "," + y + ") is " + new Color(studentImage.getRGB(x, y)) + " but should be " + new Color(goodImage.getRGB(x, y)));
          diffCount++;
        }
      }
    }
  }