Gif Animationen zentrieren

  • Themenstarter Themenstarter hallo125
  • Beginndatum Beginndatum
H

hallo125

Gast
Hi,
wie kann man animierte .gif Bilder zentrieren, also die höhe und breite angeben?
Geht das mithilfe von BufferedImage? und wenn wie?

Danke schonmal für Antworten!
 
Zuletzt bearbeitet von einem Moderator:
Oh magische Kristallkugel, verrate mir, was dieser Themenersteller wissen will?!
hmm ... sie schweigt!
Was ich dir mit diesem Kommentar implizit sagen will: Wo willst du das Zentrieren? Auf einem JPanel ? Auf einem JLabel ?
 
Das ist mir wurscht, ich will es bewegen, also will ich einzelne Pixel angeben, wie Höhe (500) und Breite (300). Ich hoffe ich hab mich jetzt verständlicher ausgedrückt! 😀
 
Nein ich wills eig. garnicht wirklich zentrieren, sonder ausrichten. Ich glaub das ist das richtige wort 😀
also ich will zwei punkte angeben, die x und die y Koordinate und da soll dann das bild sein!
 
Hast du denn schon irgendwas das du anzeigst?
Wenn ja poste doch bitte mal etwas Code damit man sehen kann wie du das ganze aufbauen willst
 
Hier hab ich zb. ein Image, das in der Mitte , ich will aber das es etwas weiter unten ist!


Java:
    JFrame fe = new JFrame();
        fe.setSize(1000, 1000);
        fe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fe.setLocationRelativeTo(null);
        ImageIcon ii = new ImageIcon(<image>);  // <image>= bei mir "test.gif"
        fe.add(new JLabel(ii));
        fe.setVisible(true);
 
Java:
public class ImagePanel extends JPanel
{
  private Image image;
  private int xCoordinate;
  private int yCoordinate;

  ImagePanel(Image newImage)
  {
    image = newImage;
  }

  public void setCoordinates(int x, int y)
  {
    xCoordinate = x;
    yCoordinate = y;
  }

  paintComponent(Graphics g)
  {
    super.paintComponent(g);
    if(image != null)
      g.drawImage(image, xCoordinate, yCoordinate, image.getWidth(), image.getHeight());
  }
}
So würde ich das eher machen. Ein JPanel, welches dir ein Bild an eine Stelle zeichnet.

Ansonsten müsstest du halt mit null-Layout arbeiten und das, bekanntlich, evil!
 
Danke für die antwort!Genau das suche ich. Allerdings wenn ich jetzt versuche das anzuwenden kommt bei mir die Fehlermeldung raus:

method get Width in class java.awt.Image cannot be aplied to given types;
required: java.awt.image,ImageObserver found:noagumens
reason: actual and formal argument lists differ in length


Und wo genau muss ich jetzt da den Pfad angeben, der zu meinem Bild führt ?
 
Java:
public class ImagePanel extends JPanel
{
  private Image image;
  private int xCoordinate;
  private int yCoordinate;
 
  public ImagePanel(Image newImage)
  {
    image = newImage; // hier wird das Bild übergeben 
  }
 
  public void setCoordinates(int x, int y)
  {
    xCoordinate = x;
    yCoordinate = y;
  }
 
  public void paintComponent(Graphics g)
  {
    super.paintComponent(g);
    if(image != null)
      g.drawImage(image, xCoordinate, yCoordinate,this);
  }
}

So, nun habe ich es mal nicht von Hand geschrieben.
Das zu zeichnende Bild wird im Konstruktor übergeben.
 

Neue Themen


Zurück
Oben