我想问下,怎样加载一个图片并在图片上画线?
我是想实现跟踪其它机子的鼠标位置显示在自己的机子上,鼠标的实时变化坐标我已经获得,但不知道怎么加载一张图片,在图片上根据鼠标坐标的位置划个十字线.但不知道怎么实现,画线是不是一定要在CANVAS上画啊,可CANVAS又不能设背景图片,该怎么实现啊,有没有谁知道请帮我解决下,急.能给示例代码最好

解决方案 »

  1.   

    任何componet上都能画 重载paint函数 在paint函数里画
      

  2.   

    在JSP上加载applet程序
    <applet code="你的applte程序的class" width=320 height=220>
    在JSP上加载图片
    <param name="imgName" value="lines.jpg">
      

  3.   

    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.event.MouseEvent;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.event.MouseInputListener;
    class ImagePanel extends JPanel implements MouseInputListener
    {
    private Image img;
    private int x = 0,y = 0;
    public ImagePanel(Image img)
    {
    this.img = img;
    addMouseListener(this);
    }
    public void paint(Graphics g)
    {
    g.drawImage(img,0,0,null);
    if(x != 0 && y != 0)
    {
    g.drawLine(x-5,y,x+5,y);
    g.drawLine(x,y-5,x,y+5);
    }
    }

    public void drawLine(int x,int y)
    {
    this.x = x;
    this.y = y;
    repaint();
    } public void mouseClicked(MouseEvent e) {

    int x = e.getPoint().x;
    int y = e.getPoint().y;
    drawLine(x,y);
    } public void mousePressed(MouseEvent e) {

    } public void mouseReleased(MouseEvent e) {

    } public void mouseEntered(MouseEvent e) {

    } public void mouseExited(MouseEvent e) {

    } public void mouseDragged(MouseEvent e) {

    } public void mouseMoved(MouseEvent e) { }

    }
    public class ImageLineTest extends JFrame {

    ImagePanel p = null;

    public void drawLine(int x,int y)
    {
    p.drawLine(x,y);
    }

    public void init()
    {
    setSize(200,100);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    Image img = getToolkit().getImage("c:\\mao.jpg");
    p = new ImagePanel(img);
    this.getContentPane().add(p);
    show();
    }

    public static void main(String[] arg) throws Exception
    {
    ImageLineTest test = new ImageLineTest();
    test.init();
    }
    }
    这样就可以了,运行以后点击某个地方就会出现一个十字线