# Text perspektivisch verzerren



## genji3000 (14. Apr 2006)

Ist es möglich einen Text perspektivisch zu verzerren?
In Photoshop geht das mit "Transformieren + Perspektivisch verzerren".

Oder ist es sonst möglich eine Grafik perspektivisch zu verzerren?

Besten Dank für jede Hilfe und Hinweis   [/img]


----------



## Beni (14. Apr 2006)

Ja, es ist möglich. Caste dein Graphics in ein Graphics2D, benutz die Methoden "rotate", "scale", "share", "translate" oder "setTransform" um das Koordinatensystem zu verziehen - dann zeichne.


----------



## genji3000 (15. Apr 2006)

Danke für deine Antwort Beni.
Kannst du mir genau sagen, wie das gehen soll.
Ich dachte mit 2D sind nur einfache Grafikopereationen möglich.
Jetzt arbeite ich mich gerade in JAI ein.


----------



## lin (15. Apr 2006)

```
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;

import javax.swing.JFrame;
import javax.swing.JPanel;


public class ShearTest extends JFrame {
	
	public ShearTest() {
		super("Shear Transformation of Text");
		add(new ShearPane());
		setSize(800, 300);
	}
	
	public static void main(String[] args) {
		new ShearTest().setVisible(true);
	}
	
}

class ShearPane extends JPanel {
	
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		Graphics2D g2 = (Graphics2D)g;
		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
				RenderingHints.VALUE_ANTIALIAS_ON);
		this.setBackground(Color.BLACK);
		
		g2.setFont(new Font("Monologue", Font.PLAIN, 18));
		
		String text = "java-forum.org";
		g2.drawString(text, 30, 30);
		
		for(int i = 0; i<=10; i++) {
			AffineTransform at = new AffineTransform();
			at.shear(0.2*i, 0.0);
			g2.setTransform(at);
			g2.setColor(new Color(240-20*i, 10*i, 15*i, 255-10*i));
			g2.drawString(text, 30, 30 + 20*i);
		}
	}
}
```


----------



## genji3000 (16. Apr 2006)

Vielen Dank für deine Antwort lin und das Beispiel.
Es ist nicht ganz das was ich meine.
Hier ein Bild, wie die perspektivische Verzerrung aussehen soll.
Die Perspektive soll einmal nach hinten verzerrt sein und einmal nach hinten rechts.
Nur nach hinten würde auch gehen.







Geht das auch?


----------

