Нужно изменить цвет прямоугольника - Java

Формулировка задачи:

public class Main extends JFrame {
 
    public Main(){}
 
 
    public static void main(String[] args) {
        System.out.println("Hello");
 
         Main frame = new Main();
        Image img = java.awt.Toolkit.getDefaultToolkit().getImage(("27-1.jpg"));
 
        ImageIcon ic = new ImageIcon(img);
 
        BufferedImage tempImage = new BufferedImage(500, 500,
                BufferedImage.TYPE_INT_RGB);
 
        tempImage.getGraphics().drawImage(img, 0, 0, ic.getImageObserver());
        tempImage.getGraphics().setColor(Color.BLUE);
        tempImage.getGraphics().drawRect(20,20,150,150);
 
        ImageIcon ic1 = new ImageIcon(tempImage);
 
        frame.getContentPane().add(new JLabel(ic1));
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setResizable(false);
        frame.setSize(800, 800);
        frame.setVisible(true);
    }
}
Нужно изменить цвет прямоугольника и залить его каким-то цветом,сделав его прозрачным.

Код к задаче: «Нужно изменить цвет прямоугольника - Java»

textual
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
 
public class MainRect extends JFrame {
 
    public MainRect() {
    }
 
 
    public static void main(String[] args) {
        System.out.println("Hello");
 
        MainRect frame = new MainRect();
        Image img = Toolkit.getDefaultToolkit().getImage(("27-1.jpg"));
 
 
        ImageIcon ic = new ImageIcon(img);
 
        BufferedImage tempImage = new BufferedImage(500, 500,
                BufferedImage.TYPE_INT_RGB);
 
        tempImage.getGraphics().drawImage(img, 0, 0, ic.getImageObserver());
        Graphics g = tempImage.getGraphics();
        g.setColor(new Color(0,0,255,120));
        g.drawRect(20, 20, 150, 150);
        g.fillRect(20, 20, 150, 150);
 
 
        ImageIcon ic1 = new ImageIcon(tempImage);
 
        frame.getContentPane().add(new JLabel(ic1));
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setResizable(false);
        frame.setSize(800, 800);
        frame.setVisible(true);
    }
}

11   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ