美文网首页
java在图形组件上显示图片的一部分

java在图形组件上显示图片的一部分

作者: jiangHZ_de04 | 来源:发表于2018-07-07 14:47 被阅读0次

    如图要将该道具图的第一个道具在JFrame上显示

    bonus.bmp

    效果如图

    import java.awt.Graphics;

    import java.awt.Image;

    import java.io.File;

    import java.io.IOException;

    import javax.imageio.ImageIO;

    import javax.swing.JFrame;

    import javax.swing.JPanel;

    public class TestFrame extends JFrame {

        public TestFrame() {

            MyJPanel mp = new MyJPanel();

            add(mp);

            setTitle("画图");

            setDefaultCloseOperation(EXIT_ON_CLOSE);

            setBounds(300, 200, 300, 300);

            setVisible(true);

        }

        public static void main(String[] args) {

            new TestFrame();

        }

        class MyJPanel extends JPanel {

            public void paint(Graphics g) {

                super.paint(g);

                Image img;

    try {

    img = ImageIO.read(new File("images/bonus.bmp"));  //将图片加载进来

    g.drawImage(img, 0, 0, 30, 28, 0, 0, 30, 28, this);  //将图片的一部分显示在frame上

    } catch (IOException e) {

    e.printStackTrace();

    }

            }

        }

    }

    这段代码将images文件夹下的bonus.bmp的一部分显示到组件frame中

    drawImage()有十个参数,

    public abstract boolean drawImage​(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2,ImageObserver observer)

    img- 要绘制的指定图像。如果img为空,则此方法不起作用。

    dx1- 目标矩形的第一个角的x坐标。

    dy1- 目标矩形的第一个角的y坐标。

    dx2- 目标矩形的第二个角的x坐标。

    dy2- 目标矩形的第二个角的y坐标。

    sx1- 源矩形的第一个角的x坐标。

    sy1- 源矩形的第一个角的y坐标。

    sx2- 源矩形的第二个角的x坐标。

    sy2- 源矩形的第二个角的y坐标。

    observer- 通过缩放和转换更多的图像来通知对象。

    相关文章

      网友评论

          本文标题:java在图形组件上显示图片的一部分

          本文链接:https://www.haomeiwen.com/subject/aopwuftx.html