# Imagelibrary v1.0



## ATokS (22. Mai 2011)

*Imagelibrary v1.0*







Imagelibrary ist eine JAVA Bibliothek für Arbeit mit Stereo, 3D, MPO Bildern. Imagelibrary beinhaltet folgende Hilfsklassen:

*ImageTool* - Klasse beinhaltet ausschließlich statische Methoden und muss nicht instanziiert werden. Alle Methoden von ImageTool arbeiten mit BufferedImage.
# getGrayImage (macht Bild schwarz/weiß),
# resizeImage (ändert Bildgröße),
# adaptImage (ändert Bildgröße mit beibehalten von Proportionen),
# cutPartOfImage (schneidet Teil von Bild ab),
# rotateImage (dreht Bild um seine Achse),
# addWatermarkToImage (zeichnet ein Wasserzeichen),
# reflectHorizontalImage (horizontale Bildspiegelung),
# reflectVerticalImage (Vertikale Bildspiegelung),
# makeTransparentImage (fügt eine Transparenz ein),
# getAnaglyphImage (erstellt ein 3D Anaglyph).

*StereoImage* - Klasse für Erstellung von 3D Anaglyphen, beinhaltet Methoden für erstellen von Anaglyph aus zwei Bildern.

*MPOSplitter* - Klasse für extraihren von JPG - Bilder aus MPO Datei.

Dokumentationen:
Dokumentation (online) zu MPOSplitter
Dokumentation (online) zu StereiImage

Also, ich wollte diese Bibliothek einfach für alle bekannt machen.
Vielleicht ein oder andere schlagen was sinnvolles vor, wie es verbessern oder welche neue Methoden man einfügen kann.

Aber kann auch sein, dass es Hilft jemandem.
Download Imagelibrary v1.0


----------



## ATokS (12. Jul 2011)

Neue Version 1.1

*Imagelibrary v1.1*

Änderungen in Version 1.1
** MPOSplitter*
- Verbesserte Konstanten
- Schließen von Streams ist in finally Block ausgelagert
- Vector ersetzt mit ArrayList
- Alle Exeptions sind mit ImageToolException ersetzt
- Funktion Debug entfernt

** ImageTool*
- Rundungsfehler in Funktion adaptImage wurde beseitigt
- folgende Funktionen werden hinzugefügt
* - getBufferedImage(InputStream is)
* - getBufferedImage(URL url)
* - getBufferedImage(String str)


----------



## ATokS (6. Nov 2011)

Neue Version 1.2

*Imagelibrary v1.2 (Quick MPO Split)*

Änderungen in Version 1.2

* neue Klasse *RGBAConverter*

```
import java.awt.Color;

public RGBAConverter(){}
public RGBAConverter(Color c)
public RGBAConverter(int rgba)
public RGBAConverter(int r, int g, int b)
public RGBAConverter(int r, int g, int b, int a)
public RGBAConverter(String hex)

public void setColor(Color c)
public void setRGBA(int rgba)
public void setRGB(int rgb)
public void setRGB(int r, int g, int b)
public void setRGBA(int r, int g, int b, int a)
public void setAlpha(int a)
public void setRed(int r)
public void setGreen(int g)
public void setBlue(int b)
public void setHEX(String hex)
public Color getColor()
public int getRGBA()
public int getRGB()
public int getAlpha()
public int getRed()
public int getGreen()
public int getBlue()
public String getHEX()
public boolean equals(RGBAConverter o)
```

Klasse RGBAConverter repräsentiert kleine Umrechner von Farbeeingaben.
In manchen Fellen um aus einem RGB Wert ein Dezimale zu bekommen nutzt man Color Klasse
aber um aus Dezimale Wert ein RGB zu bekommen, muss jedes Mal eine neue Instanz von Color gebildet werden
um Dezimale Wert an Color zu übergeben.
Und genau das ist sehr Speicher unfreundlich. Genau für solche Felle wird diese Klasse geschrieben.

* *RGBAConverter *erlaubt Ihnen ohne Bildung von weitere Instanz Farbewerte aus verschiedenen Typen zu konvertieren
z.B.: Mögliche Konvertierungen *dezimal <=> RGB <=> HEX*
Es reicht nur ein einziges Object von RGBAConverter und alle nötige Eingaben können an diese Object übergeben werden.


* *MPOSplitter*
- Suche "searchImgs()" von JPEG-Bestandteilen wurde beschleunigt in dem wird Bytebuffer eingefuegt
- "if" Abfragen in "searchImgs()" werden mit "else" erweitert um unnoetige Teste zu vermeiden
- getDimension() wurde ueberarbeitet. BufferedImage wird nur bei erstem Aufruf erzegt. 
Jetzt Zerlegen von MPO-Datei ist noch schneller.

* *ImageTool *
- Color Classe duch *RGBAConverter* ersetzt
* Eingefuegte Methoden
- inverseColor(BufferedImage img)
- replaceColor(BufferedImage img, Color mask, Color replacement, double digression)


----------

