Laurentiu Bobora Ответов: 1

Почему бы не показать мою фотографию ?


Я пытаюсь реализовать в java алгоритм поворота изображения, но он не показывает мою картинку. Не могли бы вы мне помочь, пожалуйста, проверьте, правильно ли написан код для поворота изображения.
Это мой код:
Спасибо

Что я уже пробовал:

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Rotation extends JPanel{
	
	public static void main(String []args){
		JFrame f = new JFrame();
		f.add(new Rotation());
		f.setSize(750, 600);
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		BufferedImage img = null;
		try {
		    img = ImageIO.read(new File("img.jpg"));
		} catch (IOException e) {
			e.printStackTrace();
		}
		Rotation r = new Rotation();
		r.rotateCw(img, null);
	}
	
	public static void rotateCw( BufferedImage img, Graphics g )
	{
	    int         width  = img.getWidth();
	    int         height = img.getHeight();
	    BufferedImage   newImage = new BufferedImage( height, width, img.getType() );
	 
	    for( int i=0 ; i < width ; i++ ){
	        for( int j=0 ; j < height ; j++ ){
	            newImage.setRGB( height-1-j, i, img.getRGB(i,j) );;
	        }
	    }
		Graphics2D g2d = (Graphics2D) g;
		
		g2d.drawImage(newImage, 25, 25, null);
	}
}

1 Ответов

Рейтинг:
1

Patrice T

Используя отладчик, вы сможете сузить область исследования, проверив части вашего кода.

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.