title image


Smiley Re: aha
Hi



"BufferedImage" ist das richtig Stichwort ... neben "TexturePaint" (etwas weiter oben auf der Seite) ... habs grad mal getestet.





import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.awt.image.*;

import java.awt.geom.*;



class TexturePolygonTest extends JFrame implements MouseMotionListener {



public static void main(String args[]) {

TexturePolygonTest t = new TexturePolygonTest();

}





Polygon polygon = new Polygon(

new int[]{ 100, 100, 200, 200 },

new int[]{ 100, 200, 200, 100 },

4);





TexturePaint texturePaint;



public TexturePolygonTest() {



// Lade das bild

Image image = Toolkit.getDefaultToolkit().getImage("bild.jpg");



// Warte, bis das Bild geladen ist

try {

MediaTracker mt = new MediaTracker(this);

mt.addImage(image, 0);

mt.waitForID(0);

} catch (Exception e) {}



// Erstelle ein BufferedImage, das das Bild enthält

BufferedImage bi = new BufferedImage(image.getWidth(this),

image.getHeight(this),

BufferedImage.TYPE_INT_RGB);

bi.getGraphics().drawImage(image,0,0,this);



// Erstelle das TexturePaint

texturePaint = new TexturePaint(bi, new Rectangle2D.Float(0,0,200,200));



setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

addMouseMotionListener(this);

setSize(400,400);

setVisible(true);

}





public void paint(Graphics gr) {

Graphics2D g = (Graphics2D)gr;



// Bildschirm löschen

g.setColor(getBackground());

g.fillRect(0,0,getBounds().width, getBounds().height);



// Texturiertes Polygon malen

g.setPaint(texturePaint);

g.fillPolygon(polygon);

}





public void mouseMoved(MouseEvent e) {

polygon.xpoints[0] = e.getX();

polygon.ypoints[0] = e.getY();

repaint();

}



public void mouseDragged(MouseEvent e) {

}



}



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: