I need to create 3d depth effect for my image. Number 1 is what I have and number 2 is shape where I want to transform number 1. So is there any method for that in Java standard graphics libraries or some other open source libraries?
This can not be done using the AffineTransform
class. See Wikipedia article on affine transformation:
In general, an affine transformation is composed of linear transformations (rotation, scaling or shear) and a translation (or "shift").
What you need is some form of perspective transform. From http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/PerspectiveTransform.html
A perspective transformation is capable of mapping an arbitrary quadrilateral into another arbitrary quadrilateral, while preserving the straightness of lines. Unlike an affine transformation, the parallelism of lines in the source is not necessarily preserved in the output.
From http://answers.google.com/answers/threadview/id/515829.html
The Java Advanced Imaging API allows you to easily perform perspective transform.
As in Java2D and Java3D, these routines are optimised, they are not run in the usual java interpreted manner - so they are very fast as well.
The JAI is downloadable from
http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html
You can find info on how to run perspective transform in:
http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With