Package imp

Class PictureViewer

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class PictureViewer
    extends javax.swing.JFrame
    Der PictureViewer ist ein Actor, der in der Lage ist ein Objekt der Klasse Picture anzuzeigen. Zusätzlich können mehrere Verarbeitungsschritte gespeichert werden, um ein "zurück"-Funktion zu ermöglichen.
    Version:
    V1.0 vom 10.02.2019
    Author:
    Thomas Schaller
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int FIT  
      static int NORMAL  
      protected imp.Picture picture  
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      PictureViewer()
      Erzeugt ein ScrollPanel mit integriertem Bild der Größe 500x400
      PictureViewer​(int width, int height)
      Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
      PictureViewer​(int width, int height, java.lang.String background)
      Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
      PictureViewer​(imp.Picture p)  
      PictureViewer​(java.lang.String filename)
      Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void back()
      Ruft das letzte abgespeicherte Bild aus der History wieder auf.
      void background​(int c)
      Die Funktion background() setzt die Farbe, die für den Hintergrund des Bildes verwendet wird.
      void background​(int r, int g, int b)
      Die Funktion background() setzt die Farbe, die für den Hintergrund des Bildes verwendet wird.
      void clear()
      Löscht den Inhalt des Bildes.
      void ellipse​(int a, int b, int c, int d)
      Zeichnet eine Ellipse/Kreis auf das Bild.
      void ellipseMode​(int mode)
      Ändert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen.
      void fill​(int fillcolor)
      Legt die Farbe fest, mit der Formen gefüllt werden.
      void fill​(int r, int g, int b)
      Legt die Farbe fest, mit der Formen gefüllt werden.
      void fill​(java.lang.String fillcolor)
      Legt die Farbe fest, mit der Formen gefüllt werden.
      int getImageHeight()
      Liefert die Höhe des Bildes zurück.
      int getImageWidth()
      Liefert die Breite des Bildes zurück.
      java.awt.Color[][] getPixelArray()
      Liefert das Bild als zweidimensionales Pixel-Array.
      void line​(int x1, int y1, int x2, int y2)
      Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm.
      void load​(java.lang.String filename)
      Lädt ein Bild aus dem Dateisystem.
      void noFill()
      Legt fest, dass die Formen nicht gefüllt werden sollen.
      void noStroke()
      Legt fest, dass keine Linien oder Ränder um Formen gezeichnet werden soll.
      void point​(int x, int y)
      Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels.
      void polygon​(int[] x, int[] y)
      Zeichnet ein Polygon auf das Bild.
      void pushImage()
      Speichert das übergebene Bild in der History.
      void quad​(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
      Zeichnet ein Viereck auf das Bild.
      void rect​(int a, int b, int c, int d)
      Zeichnet ein Rechteck auf das Bild.
      void rectMode​(int mode)
      Ändert den Koordinaten-Modus beim Zeichnen von Rechtecken.
      void refresh()
      Sorgt für die Aktualisierung der Bildschrimanzeige.
      void repaint()
      Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
      void save​(java.lang.String filename)
      Speichert ein Bild.
      void setAutoRefresh​(boolean autoRefresh)
      Setzt die automatische Neuanzeige des Bildes.
      void setPixelArray​(java.awt.Color[][] pixel)
      Setzt das Bild neu auf Basis des Pixel-Arrays.
      void setZoom​(double zoom)
      Setzt den Zoom-Faktor für das Bild.
      void size​(int width, int height)
      Definiert die Dimension der Breite und Höhe des Anzeigefensters in Pixeleinheiten.
      void stroke​(int pencolor)
      Legt die Farbe fest, mit der Linien und Ränder um Formen gezeichnet werden.
      void stroke​(int r, int g, int b)
      Legt die Farbe fest, mit der Linien und Ränder um Formen gezeichnet werden.
      void stroke​(java.lang.String pencolor)
      Legt die Farbe fest, mit der Linien und Ränder um Formen gezeichnet werden.
      void strokeWeight​(double width)
      Legt die Breite des Strichs für Linien, Punkte und den Rand um Formen fest.
      void text​(java.lang.String t, int x, int y)
      Gibt einen Text an den gegebenen Koordinaten aus Zur Ausgabe des Textes wird der ausgewählte Font verwendet.
      void textFont​(java.awt.Font font)
      Legt die Schriftart für Textausgaben fest.
      void triangle​(int x1, int y1, int x2, int y2, int x3, int y3)
      Zeichnet ein Dreieck auf das Bild.
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, list, list, paintComponents, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont
    • Constructor Detail

      • PictureViewer

        public PictureViewer()
        Erzeugt ein ScrollPanel mit integriertem Bild der Größe 500x400
      • PictureViewer

        public PictureViewer​(int width,
                             int height)
        Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
        Parameters:
        width - Breite des Bildes
        height - Höhe des Bildes
      • PictureViewer

        public PictureViewer​(int width,
                             int height,
                             java.lang.String background)
        Erzeugt ein ScrollPanel mit integriertem Bild der angegebenen Größe
        Parameters:
        width - Breite des Bildes
        height - Höhe des Bildes
        background - Farbe des Hintergrunds als HEX-String (z.B. "FF3A45")
      • PictureViewer

        public PictureViewer​(java.lang.String filename)
        Erzeugt ein ScrollPanel mit integriertem Bild aus einer Bilddatei
        Parameters:
        filename - Name des Bildes
      • PictureViewer

        public PictureViewer​(imp.Picture p)
    • Method Detail

      • pushImage

        public void pushImage()
        Speichert das übergebene Bild in der History.
        Parameters:
        b - zu speicherndes Bild
      • back

        public void back()
        Ruft das letzte abgespeicherte Bild aus der History wieder auf.
      • setZoom

        public void setZoom​(double zoom)
        Setzt den Zoom-Faktor für das Bild. Als Zoomfaktor sind auch die Konstanten Bildanzeiger.FIT (auf Bildschirmgröße zoomen) und Bildanzeiger.NORMAL (100%) möglich.
        Parameters:
        factor - Zoomfaktor (1.0 = 100%).
      • setAutoRefresh

        public void setAutoRefresh​(boolean autoRefresh)
        Setzt die automatische Neuanzeige des Bildes. Mit dieser Methode kann man einstellen, ob nach jedem Zeichenbefehl die Anzeige auf dem Bildschirm aktualisiert werden soll. Bei sehr vielen Zeichenbefehlen wird die Ausgabe dadurch sehr langsam. Es reicht eine Anzeige am Ende der Zeichenbefehle. Rufen Sie dann für das Neuzeichnen die Methode refresh() auf.
        Parameters:
        autoRefresh - true, wenn nach jedem Zeichenbefehl die Anzeige aktualisiert werden soll.
      • refresh

        public void refresh()
        Sorgt für die Aktualisierung der Bildschrimanzeige. Das aktuelle Bild wird dadurch angezeigt. Durch Einstellung von autoRefresh kann die Anzeige automatisiert werden.
      • repaint

        public void repaint()
        Setzt das angezeigt Bild neu und beachtet dabei den Zoomfaktor.
        Overrides:
        repaint in class java.awt.Component
      • size

        public void size​(int width,
                         int height)
        Definiert die Dimension der Breite und Höhe des Anzeigefensters in Pixeleinheiten. Die eingebauten Variablen Breite und Höhe werden durch die an diese Funktion übergebenen Parameter festgelegt. So weist beispielsweise der Befehl size(640, 480) der Variablen Breite 640 und der Variablen Höhe 480 zu.
        Parameters:
        width - Breite des Bildes
        height - Höhe des Bildes
      • getImageWidth

        public int getImageWidth()
        Liefert die Breite des Bildes zurück.
        Returns:
        Breite des Bildes
      • getImageHeight

        public int getImageHeight()
        Liefert die Höhe des Bildes zurück.
        Returns:
        Höhe des Bildes
      • background

        public void background​(int c)
        Die Funktion background() setzt die Farbe, die für den Hintergrund des Bildes verwendet wird. Der Standardhintergrund ist hellgrau. Es ist nicht möglich, den Alpha-Parameter Transparenz mit Hintergrundfarben auf der Hauptzeichnungsoberfläche zu verwenden.
        Parameters:
        c - Farbe für den Hintergrund (0-255: Graustufe zwischen 0 schwarz und 255 weiß, sonst: c wird als 3-Byte RGB-Wert interpretiert)
      • background

        public void background​(int r,
                               int g,
                               int b)
        Die Funktion background() setzt die Farbe, die für den Hintergrund des Bildes verwendet wird. Der Standardhintergrund ist hellgrau. Es ist nicht möglich, den Alpha-Parameter Transparenz mit Hintergrundfarben auf der Hauptzeichnungsoberfläche zu verwenden.
        Parameters:
        r - Rotanteil (0-255) der Hintergrundfarbe
        g - Grünanteil (0-255) der Hintergrundfarbe
        b - Blauanteil (0-255) der Hintergrundfarbe
      • line

        public void line​(int x1,
                         int y1,
                         int x2,
                         int y2)
        Zeichnet eine Linie (einen direkten Weg zwischen zwei Punkten) auf den Bildschirm. Um eine Linie einzufärben, verwenden Sie die stroke() Funktion. Eine Zeile kann nicht gefüllt werden, daher hat die Funktion fill() keinen Einfluss auf die Farbe einer Zeile. Linien werden standardmäßig mit einer Breite von einem Pixel gezeichnet, dies kann jedoch mit der Funktion strokeWeight() geändert werden.
        Parameters:
        x1 - x-Koordinate des 1. Punktes
        y1 - y-Koordinate des 1. Punktes
        x2 - x-Koordinate des 2. Punktes
        y2 - y-Koordinate des 2. Punktes
      • rect

        public void rect​(int a,
                         int b,
                         int c,
                         int d)
        Zeichnet ein Rechteck auf das Bild. Standardmäßig legen die ersten beiden Parameter die Position der linken oberen Ecke fest, der dritte die Breite und der vierte die Höhe. Die Art und Weise, wie diese Parameter interpretiert werden, kann jedoch mit der Funktion rectMode() geändert werden. Durch den Befehl fill() /noFill() kann die Füllfarbe des Rechtecks gewählt werden, durch stroke()/noStroke() die Rahmenfarbe.
        Parameters:
        a - meist die x-Koordinate der linken oberen Ecke (kann durch rectMode() geändert werden).
        b - meist die y-Koordinate der linken oberen Ecke (kann durch rectMode() geändert werden).
        c - meist die Breite des Rechtecks (kann durch rectMode() geändert werden).
        d - meist die Höhe des Rechtecks (kann durch rectMode() geändert werden).
      • ellipse

        public void ellipse​(int a,
                            int b,
                            int c,
                            int d)
        Zeichnet eine Ellipse/Kreis auf das Bild. Standardmäßig legen die ersten beiden Parameter die Position des Mittelpunkts fest, der dritte die Breite und der vierte die Höhe. Die Art und Weise, wie diese Parameter interpretiert werden, kann jedoch mit der Funktion ellipseMode() geändert werden. Durch den Befehl fill() /noFill() kann die Füllfarbe des Rechtecks gewählt werden, durch stroke()/noStroke() die Rahmenfarbe.
        Parameters:
        a - meist die x-Koordinate des Mittelpunkts (kann durch ellipseMode() geändert werden).
        b - meist die y-Koordinate des Mittelpunkts (kann durch ellipseMode() geändert werden).
        c - meist die Breite des Rechtecks (kann durch ellipseMode() geändert werden).
        d - meist die Höhe des Rechtecks (kann durch ellipseMode() geändert werden).
      • triangle

        public void triangle​(int x1,
                             int y1,
                             int x2,
                             int y2,
                             int x3,
                             int y3)
        Zeichnet ein Dreieck auf das Bild. Ein Dreieck ist eine Ebene, die durch die Verbindung von drei Punkten entsteht. Die ersten beiden Argumente spezifizieren den ersten Punkt, die mittleren beiden Argumente spezifizieren den zweiten Punkt und die letzten beiden Argumente spezifizieren den dritten Punkt. Durch den Befehl fill() /noFill() kann die Füllfarbe des Rechtecks gewählt werden, durch stroke()/noStroke() die Rahmenfarbe.
        Parameters:
        x1 - meist die x-Koordinate des 1. Punkts.
        y1 - meist die y-Koordinate des 1. Punkts.
        x2 - meist die x-Koordinate des 2. Punkts.
        y2 - meist die y-Koordinate des 2. Punkts.
        x3 - meist die x-Koordinate des 3. Punkts.
        y3 - meist die y-Koordinate des 3. Punkts.
      • quad

        public void quad​(int x1,
                         int y1,
                         int x2,
                         int y2,
                         int x3,
                         int y3,
                         int x4,
                         int y4)
        Zeichnet ein Viereck auf das Bild. Ein Viereck ist ein vierseitiges Polygon. Es ist ähnlich wie ein Rechteck, aber die Winkel zwischen seinen Kanten sind nicht auf neunzig Grad beschränkt. Das erste Paar von Parametern (x1,y1) setzt den ersten Scheitelpunkt und die nachfolgenden Paare sollten im Uhrzeigersinn oder gegen den Uhrzeigersinn um die definierte Form herum verlaufen. Durch den Befehl fill() /noFill() kann die Füllfarbe des Rechtecks gewählt werden, durch stroke()/noStroke() die Rahmenfarbe.
        Parameters:
        x1 - meist die x-Koordinate des 1. Punkts.
        y1 - meist die y-Koordinate des 1. Punkts.
        x2 - meist die x-Koordinate des 2. Punkts.
        y2 - meist die y-Koordinate des 2. Punkts.
        x3 - meist die x-Koordinate des 3. Punkts.
        y3 - meist die y-Koordinate des 3. Punkts.
        x4 - meist die x-Koordinate des 3. Punkts.
        y4 - meist die y-Koordinate des 3. Punkts.
      • polygon

        public void polygon​(int[] x,
                            int[] y)
        Zeichnet ein Polygon auf das Bild. Gleich lange Listen von x und y-Koordinaten bestimmen die Eckpunkte des Polygons. Durch den Befehl fill() /noFill() kann die Füllfarbe des Rechtecks gewählt werden, durch stroke()/noStroke() die Rahmenfarbe.
        Parameters:
        x - Liste der x-Koordinaten der Punkte.
        y - Liste der y-Koordinaten der Punkte.
      • point

        public void point​(int x,
                          int y)
        Zeichnet einen Punkt, d.h. einen Kreis in der Dimension eines Pixels. Der erste Parameter ist der x-Wert für den Punkt, der zweite Wert ist der y-Wert für den Punkt.
        Parameters:
        x - x-Koordinate des Punktes
        y - y-Koordinate des Punktes
      • rectMode

        public void rectMode​(int mode)
        Ändert den Koordinaten-Modus beim Zeichnen von Rechtecken. Ändert die Position, von der aus Rechtecke gezeichnet werden, indem es die Art und Weise ändert, wie Parameter, die an rect() übergeben werden, interpretiert werden. Der Standardmodus ist rectMode(Bild.CORNER), der die ersten beiden Parameter von rect() als die linke obere Ecke der Form interpretiert, während der dritte und vierte Parameter seine Breite und Höhe sind. rectMode(Bild.CORNERS) interpretiert die ersten beiden Parameter von rect() als die Position einer Ecke und die dritten und vierten Parameter als die Position der gegenüberliegenden Ecke. rectMode(Bild.CENTER) interpretiert die ersten beiden Parameter von rect() als Mittelpunkt der Form, während der dritte und vierte Parameter seine Breite und Höhe sind. rectMode(RADIUS) verwendet auch die ersten beiden Parameter von rect() als Mittelpunkt der Form, verwendet aber den dritten und vierten Parameter, um die Hälfte der Breite und Höhe der Formen festzulegen.
        Parameters:
        mode - Modus der Koordinateninterpretation (CORNER, CORNERS, CENTER oder RADIUS)
      • ellipseMode

        public void ellipseMode​(int mode)
        Ändert den Koordinaten-Modus beim Zeichnen von Kreisen/Ellipsen. Ändert die Position, von der aus Kreise/Ellipsen gezeichnet werden, indem es die Art und Weise ändert, wie Parameter, die an ellipse() übergeben werden, interpretiert werden. Der Standardmodus ist ellipseMode(Bild.CENTER), der die ersten beiden Parameter von ellipse() als Mittelpunkt der Form interpretiert, während der dritte und vierte Parameter seine Breite und Höhe sind. ellipseMode(Bild.CORNER) interpretiert die ersten beiden Parameter von ellipse() als die Position einer Ecke und die dritten und vierten Parameter als Breite und Höhe der Form. ellipseMode(Bild.CORNERS) interpretiert die ersten beiden Parameter von ellipse() als die Position einer Ecke und die dritten und vierten Parameter als die Position der gegenüberliegenden Ecke. ellipseMode(RADIUS) verwendet auch die ersten beiden Parameter von ellipse() als Mittelpunkt der Form, verwendet aber den dritten und vierten Parameter, um die Hälfte der Breite und Höhe der Formen festzulegen.
        Parameters:
        mode - Modus der Koordinateninterpretation (CORNER, CORNERS, CENTER oder RADIUS)
      • stroke

        public void stroke​(java.lang.String pencolor)
        Legt die Farbe fest, mit der Linien und Ränder um Formen gezeichnet werden. Diese Farbe wird hexadezimal in Form der RGB angegeben: z.B. "CCFFAA" oder "004E23". Die Syntax verwendet sechs Ziffern - je zwei für die roten, grünen und blauen Komponenten, um eine Farbe anzugeben (genau wie Farben typischerweise in HTML und CSS angegeben werden).
        Parameters:
        pencolor - Stiftfarbe in Hexadezimaldarstellung
      • stroke

        public void stroke​(int pencolor)
        Legt die Farbe fest, mit der Linien und Ränder um Formen gezeichnet werden. Diese Farbe wird entweder als Graustufe (0-255) oder als 3-Byte RGB-Wert angegeben
        Parameters:
        pencolor - Stiftfarbe (0-255: Graustufe zwischen 0 schwarz und 255 weiß, sonst: c wird als 3-Byte RGB-Wert interpretiert)
      • stroke

        public void stroke​(int r,
                           int g,
                           int b)
        Legt die Farbe fest, mit der Linien und Ränder um Formen gezeichnet werden. Diese Farbe wird komponentenweise als RGB-Wert angegeben
        Parameters:
        r - Rotanteil (0-255) der Stiftfarbe
        g - Grünanteil (0-255) der Stiftfarbe
        b - Blauanteil (0-255) der Stiftfarbe
      • noStroke

        public void noStroke()
        Legt fest, dass keine Linien oder Ränder um Formen gezeichnet werden soll.
      • strokeWeight

        public void strokeWeight​(double width)
        Legt die Breite des Strichs für Linien, Punkte und den Rand um Formen fest. Alle Breiten werden in Pixeleinheiten angegeben.
        Parameters:
        width - Breite in Pixel
      • fill

        public void fill​(java.lang.String fillcolor)
        Legt die Farbe fest, mit der Formen gefüllt werden. Diese Farbe wird hexadezimal in Form der RGB angegeben: z.B. "CCFFAA" oder "004E23". Die Syntax verwendet sechs Ziffern - je zwei für die roten, grünen und blauen Komponenten, um eine Farbe anzugeben (genau wie Farben typischerweise in HTML und CSS angegeben werden).
        Parameters:
        fillcolor - Füllfarbe in Hexadezimaldarstellung
      • fill

        public void fill​(int fillcolor)
        Legt die Farbe fest, mit der Formen gefüllt werden. Diese Farbe wird entweder als Graustufe (0-255) oder als 3-Byte RGB-Wert angegeben.
        Parameters:
        fillcolor - Füllfarbe (0-255: Graustufe zwischen 0 schwarz und 255 weiß, sonst: c wird als 3-Byte RGB-Wert interpretiert)
      • fill

        public void fill​(int r,
                         int g,
                         int b)
        Legt die Farbe fest, mit der Formen gefüllt werden. Diese Farbe wird komponentenweise als RGB-Wert angegeben.
        Parameters:
        r - Rotanteil (0-255) der Füllfarbe
        g - Grünanteil (0-255) der Füllfarbe
        b - Blauanteil (0-255) der Füllfarbe
      • noFill

        public void noFill()
        Legt fest, dass die Formen nicht gefüllt werden sollen.
      • clear

        public void clear()
        Löscht den Inhalt des Bildes. Der Hintergrund wird mit der Hintergrundfarbe neu gefüllt.
      • load

        public void load​(java.lang.String filename)
        Lädt ein Bild aus dem Dateisystem. Lädt ein Bild von einem Datenträger und setzt Stiftfarbe und Füllfarbe auf Standardwerte zurück.
        Parameters:
        filename - Dateiname des Bildes
      • save

        public void save​(java.lang.String filename)
        Speichert ein Bild. Speichert ein Bild auf einem Datenträger. Zulässig sind die Dateiformate PNG und GIF. Die Dateiendung legt den Typ fest. Standardmäßig wird die Dateiendung .png ergänzt, wenn keine angegeben ist.
        Parameters:
        filename - Dateiname des Bildes
      • text

        public void text​(java.lang.String t,
                         int x,
                         int y)
        Gibt einen Text an den gegebenen Koordinaten aus Zur Ausgabe des Textes wird der ausgewählte Font verwendet. Dieser muss vorher mit textFont() festgelegt.
        Parameters:
        t - Text, der angezeigt werden soll
        x - x-Koordinate des Textanfangs
        y - y-Koordinate der Grundlinie des Textes.
      • textFont

        public void textFont​(java.awt.Font font)
        Legt die Schriftart für Textausgaben fest. Jeder übliche Java-Font kann verwendet werden. Er kann mit z.B. Font f = new Font( "Arial", Font.PLAIN, 14 ); definiert werden.
        Parameters:
        font - ein Font-Objekt
      • getPixelArray

        public java.awt.Color[][] getPixelArray()
        Liefert das Bild als zweidimensionales Pixel-Array.
        Returns:
        zweidimensionales Array von Color-Objekten, die den Pixeln des Bildes entsprechen.
      • setPixelArray

        public void setPixelArray​(java.awt.Color[][] pixel)
        Setzt das Bild neu auf Basis des Pixel-Arrays. Die Größe des Bildes wird nicht automatisch an das Array angepasst.
        Parameters:
        pixel - zweidimensionales Array von Color-Objekten