Image-Pixel manipulieren

Status
Nicht offen für weitere Antworten.

CAYAMIDES

Mitglied
MOIN!

wie kann ich den farbwert eines Pixels in einem Image auslesen oder verändern?

mit dem normalen Image-object geht das scheinbar nicht.
mit dem Buffered Image wärs zwar möglich,
aber ich weiß nich wie ich jetzt das image in das buffered Image bekomme... :(

soweit bin ich:

Ich nehme an das Bufferes Image muss die selben eigenschaften haben wie das Image (größe, auflösung ect.),
also erzeuge ich mir ein Image und ein Buffered Image Object.

dann ein Graphics2D object erzeugen und mit der Buffered Image verknüpfen:
Code:
Graphics2D  my2D = myBuffImg.createGraphics();
und das normale Image in das Graphics2D -object zeichnen:
Code:
my2D.drawImage(myImg,0,0,null);


nun müsste (nehme ich an...) meine Image in der Buffered Image stehen,
und ich kann die Pixel Farbwerte auslesen, mit zb. :
Code:
myBuffImg.getRGB(posX,posY);  //liefert int RGB

Color myCol = new Color( myBuffImg.getRGB(posX,posY) );
// nun müsste myCol den Farbwert der Pixelpos im BufferImage haben.... geht aber nix... *funz*


spätestens hier bin ich mit meinem Latain am ende...
das prog läuft, zeigt keine fehler an, aber es funktioniert nicht.

naja... ähm hatt jemand nen Tip wie ich weiterkomme? bin ich auf dem richtigen weg?
udn wie kriege ich die manipilierte BuffImg wieder zurück ins Image?
da ich auch in meinen pdf´s nix gefunden hab, und mir in der Java-hülfe die Code-bsp.
fehlen, vieleicht könnte mir mal jemand von Euch nen Tip geben.
vieleicht stelle ich das auch viel zu umständlich an, im .NET jedenfalls
brachte ein IMAGE-Object gleich auch Methoden zur Pixelmanipulation mit.
muss doch in java auch gehen.

THX Cayamides
 

thE_29

Top Contributor
also wenn du ein BufferedImage hast, dann kannst du mittels getRaster().getPixel die Pixel ändern!

dann kannst du mittels ImageIO.write das Bild speichern oder vielleicht in in ein Image umwandeln lassen und dann gibts noch ne Klasse die sich PixelGrabber nennt! Guck dir die mal an!
 

CelikBlek

Bekanntes Mitglied
Also so kannst du das Bild in ein Array wandeln:
Code:
  /**
   * PixelGrabber. Liesst die Werte aus dem Image.
   * @param img Image Das uebergebene Image
   * @return int[] Die gelesenen int Werte
   */
  public int[]imageToArray(Image img)  {
    int width = img.getWidth(null);
    int height = img.getHeight(null);
    int[] array = new int[ width * height];
    grabber = new PixelGrabber(img, 0, 0, img.getWidth(null), img.getHeight(null),
                               array, 0, img.getWidth(null));
    try    {
      grabber.grabPixels();
    }
    catch (Exception e)    {
      e.printStackTrace();
    }
    return array;
  }
Und Beispielsweise so könntest du die Werte dann verändern und wieder in ein Image zurück verwandeln:
Code:
...
for(int i=0; i < bildArray.length; i++)    {
      DirectColorModel colorModel = (DirectColorModel) ColorModel.getRGBdefault();
      currentAlpha = colorModel.getAlpha(bildArray[i]);
      currentRed = colorModel.getRed(bildArray[i]);
      currentGreen = colorModel.getGreen(bildArray[i]);
      ...
}
Gruss
 

CAYAMIDES

Mitglied
THX! das hilft mir eventuell auch weiter....

ABER ich wüsste trotzdem gerne wie ich ein Image in ein Buffered Image verwandeln kann :) ?

plz CAYAMIDES
 

CelikBlek

Bekanntes Mitglied
Code:
import java.awt.image.BufferedImage; 
import java.awt.Image; 
... 

BufferedImage bufferedImage = new BufferedImage ( imageWidth, imageHeight,  BufferedImage.TYPE_INT_BGR ); 
bufferedImage.createGraphics().drawImage( image, 0, 0, this /* observer */ );

so musste es gehen :)
 

Kaan

Bekanntes Mitglied
Kann man ein BufferedImage nicht einfach einem Image zuweisen? Also bei mir klappts, ist ja auch logisch...(OOP)
 

CelikBlek

Bekanntes Mitglied
BufferedImage erbt von Image, dass ist klar. habe noch nie versucht eine transformation durchzuführen. könnte möglich sein.
wie ich oben beschrieben habe geht es auf jeden fall, nach OOP Regeln sollte eine Zuweisung auch funzen. natürlich nur in die richtige richtung.
hast du es ausprobiert?
 

CAYAMIDES

Mitglied
moin celik!

Code:
bufferedImage.createGraphics().drawImage( image, 0, 0, this /* observer */ );

irgenndwie existiert diese überladung nich...
ich bin noch n javaneuling, hab aber schon programmiererfahrung.
ich hab des klassenhirarchy-dingens von java noch net ganz geschnallt... *würks*
im .NET liefert image gleich die entsprechenden methoden mit (zb. Pixelauslesen),
langer rede kurzer sinn:

Ja ich habs probiert, Nein ich hab immer noch kein image in die Buffered Image geschmissen.
lese ich den farbwert aus kümmt schwarz bei raus, also 0,0,0 und des heißt ja wohl das die
buffered image leer ist. (naja jedenfalls ist die image net drinne)

ich werds jetzt mal ganz anders probieren, also mit dem pixelgrabber.

TROTZDEM:

ich geb net ruhe bevor ich weiß , wie ich nun die IMAGE ins BUFF-image reinkriege,
einfach aus prinzip :) :) :autsch:
 

CelikBlek

Bekanntes Mitglied
hi,
verstehe, dass du es zum laufen bringen willst :).
also so funzt es bei mir. nur bei new Color() könntest du dir was überlegen. Ansonsten gehts.
Code:
    BufferedImage bf = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
    bf.createGraphics().drawImage(mg, 0, 0, new Color(10 ,10, 10), observer);
übrigens ist BufferedImage in diesem package und da existiert oben genannte Methode auf jeden Fall.
Code:
import java.awt.image.BufferedImage;
Gruss
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T jedes Pixel aus dem Image (auf dem Panel) auslesen AWT, Swing, JavaFX & SWT 3
M Farbe eines Pixel im Image ändern AWT, Swing, JavaFX & SWT 1
MiMa Speichern von Image als JPG auf Festplatte AWT, Swing, JavaFX & SWT 9
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
K JavaFX Bildergalerie aus Image Ordner laden AWT, Swing, JavaFX & SWT 3
JMölleri Swing Image wird unscharf dargestellt AWT, Swing, JavaFX & SWT 2
L AWT .gif image transparent machen AWT, Swing, JavaFX & SWT 3
kodela angezeigtes Image entfernen AWT, Swing, JavaFX & SWT 1
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
T Swing Buffered Image anzeigen AWT, Swing, JavaFX & SWT 45
L Image kann nicht gefunden werden AWT, Swing, JavaFX & SWT 1
S Stretch Image in ImageView AWT, Swing, JavaFX & SWT 4
N Swing Image aus Web laden und in Icon umwandeln AWT, Swing, JavaFX & SWT 4
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
L JavaFX Image mit Blureffect AWT, Swing, JavaFX & SWT 2
Bluedaishi JavaFX Button Image aus Datenbank AWT, Swing, JavaFX & SWT 13
F javaxt.io.Image getBufferedImage liefert null AWT, Swing, JavaFX & SWT 1
Yjuq JavaFX Custom Control - Image resize AWT, Swing, JavaFX & SWT 0
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
T Image Loader lädt Bild nicht AWT, Swing, JavaFX & SWT 10
J 2D-Grafik Background Image Klasse AWT, Swing, JavaFX & SWT 14
Q AWT TicTacToe Image auf Button hinzufügen AWT, Swing, JavaFX & SWT 5
BreakdownBob Swing JLabel verschwindet hinter Image AWT, Swing, JavaFX & SWT 2
L JavaFX leeres weißes Image - javafx.scene.image.Image AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Naxon89 JavaFX Image wird nicht korrekt geladen AWT, Swing, JavaFX & SWT 3
W Javafx - Image soll sich mit der Camera mitbewegen AWT, Swing, JavaFX & SWT 1
B Graphics to Image AWT, Swing, JavaFX & SWT 3
L Image in anderes kopieren AWT, Swing, JavaFX & SWT 0
T Swing Image wird nicht geladen AWT, Swing, JavaFX & SWT 1
S JavaFX Image Skalierung in Scrollpane, Scrollpane resized sich nicht AWT, Swing, JavaFX & SWT 5
I Image im PopupMenu vom SystemTray AWT, Swing, JavaFX & SWT 8
F JavaFX Position von Image angeben/verändern AWT, Swing, JavaFX & SWT 2
M JavaFX Image View Würfel berechnen AWT, Swing, JavaFX & SWT 3
L JButton mit Image AWT, Swing, JavaFX & SWT 5
F Swing Image einem Button hinzufügen AWT, Swing, JavaFX & SWT 5
B Resize von Image nach Resize von Button AWT, Swing, JavaFX & SWT 1
T Image aus "nicht-src-ordner" AWT, Swing, JavaFX & SWT 5
vodkaz (javafx) Image Problem AWT, Swing, JavaFX & SWT 2
C Image laden und Speichern - Image wird auf JPanel nicht angezeigt AWT, Swing, JavaFX & SWT 4
M Image in JTable einfügen AWT, Swing, JavaFX & SWT 9
M Image aus MS Access anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Image im Array per Knopfdruck ändern AWT, Swing, JavaFX & SWT 6
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
G JavaFX Image vergrößern AWT, Swing, JavaFX & SWT 5
U Image mit Zeichenbereich rotieren AWT, Swing, JavaFX & SWT 3
P Speicherproblem SWT.Image in Nebula-Gallery AWT, Swing, JavaFX & SWT 3
L JavaFX: Bild in Image einlesen AWT, Swing, JavaFX & SWT 11
D Image soll langsam sichtbar werden AWT, Swing, JavaFX & SWT 4
D JLabel Image ausrichten AWT, Swing, JavaFX & SWT 2
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
bluerob Problem beim Image zeichnen via andere Klasse AWT, Swing, JavaFX & SWT 7
H Image Icon ersetzen AWT, Swing, JavaFX & SWT 8
I Image Button AWT, Swing, JavaFX & SWT 4
U IntBuffer zum Image konvertieren. AWT, Swing, JavaFX & SWT 9
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
T 2D-Grafik Slideshow (DoubleBuffering und Image transformieren/bewegen) AWT, Swing, JavaFX & SWT 6
K Swing Warum bleibt das Image immer gleich AWT, Swing, JavaFX & SWT 4
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
R Image laden sehr langsam AWT, Swing, JavaFX & SWT 7
D Image.getScaledInstance() vs. Netzwerkverbindung??? AWT, Swing, JavaFX & SWT 2
reibi SWT Image viewer AWT, Swing, JavaFX & SWT 2
lumo SWT Image funktion auf ImageDaten AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
M Image wird nicht neugezeichnet nach dem Wechsel AWT, Swing, JavaFX & SWT 2
lumo SWT Image Pattern AWT, Swing, JavaFX & SWT 5
P Image mehrfach in ein BufferedImage zeichnen AWT, Swing, JavaFX & SWT 7
M Swing Image in JPanel als Componente AWT, Swing, JavaFX & SWT 2
P nicht sichtbares JPanel / JFrame als Image speichern AWT, Swing, JavaFX & SWT 3
T Image skaliert in Variable speichern AWT, Swing, JavaFX & SWT 6
S Image wird nicht (immer) in paintComponent gezeichnet? AWT, Swing, JavaFX & SWT 6
S Swing Image wird nicht geladen AWT, Swing, JavaFX & SWT 2
0 Mousecurser mit Image hinterlegen AWT, Swing, JavaFX & SWT 4
B Swing Drag&Drop mit Feedback (Image am Mauszeiger) AWT, Swing, JavaFX & SWT 7
N Java Choice Bilderausgabe - images - - image - AWT, Swing, JavaFX & SWT 2
D iText PdfPCell mit Image AWT, Swing, JavaFX & SWT 3
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
S Button mit Image AWT, Swing, JavaFX & SWT 7
A Skaliertes Image pixelweise bearbeiten AWT, Swing, JavaFX & SWT 6
L Swing Image zur Laufzeit verändern AWT, Swing, JavaFX & SWT 6
F SWT GC drawText auf halbtransparentem Image AWT, Swing, JavaFX & SWT 21
G Swing JEdtitorPane und HTML Image Seite AWT, Swing, JavaFX & SWT 2
C Image mit Graphics2D zeichnen AWT, Swing, JavaFX & SWT 9
C Image performant skalieren AWT, Swing, JavaFX & SWT 5
D SWT Image Farbtiefe AWT, Swing, JavaFX & SWT 2
L Swing Auf unabhängiges Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 8
lumo SWT Composite + Image + zeichnen AWT, Swing, JavaFX & SWT 4
V Ein Image als Button (nicht mit JButton(Icon)) AWT, Swing, JavaFX & SWT 5
D Image Viewer gesucht AWT, Swing, JavaFX & SWT 5
Kr0e Image schärfen AWT, Swing, JavaFX & SWT 2
R Bild drehen UND skalieren (Image bzw BufferedImage) AWT, Swing, JavaFX & SWT 5
T Image auf Image zeichnen AWT, Swing, JavaFX & SWT 2
E Warum ist offscreen (mit Image) schneller? AWT, Swing, JavaFX & SWT 11
G Swing Image speichern / 0 Byte AWT, Swing, JavaFX & SWT 7
H Image abspeichern AWT, Swing, JavaFX & SWT 4
B Swing Image als Hintergrund im JInternalFrame - Problem AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben