7 Mart 2019 Perşembe

Awt AffineTransform Sınıfı

Giriş
Açıklaması şöyle.
...an affine transform is matrix math. It's any kind of mapping from one image to another that you can construct by moving, scaling, rotating, reflecting, and/or shearing the image. The Java AffineTransform class lets you specify these kinds of transformations, then use them to produce modified versions of images.
constructor
Örnek
Şöyle yaparız.
AffineTransform at = new AffineTransform();
Örnek
Şöyle yaparız.
Graphics2D g2d = ...;
AffineTransform at = g2d.getTransform();
getRotateInstance metodu
Matris çarpımları şöyle. Döndürmek için şöyle bir matris kullanılıyor. c = cos theta, s = sin theta
| c   -s  0 |
| s   c   0 |
| 0   0   1 |
Çizimi saat yönüne veya aksi yöne çevirmek için kullanılır.

Örnek
Resmi ortasından döndürmek için şöyle yaparız.
double rotationRequired = Math.toRadians (45);
double x = image.getWidth() / 2;
double y = image.getHeight() / 2;
AffineTransform at = AffineTransform.getRotateInstance(rotationRequired, x, y);
scale metodu
Şöyle yaparız.
float scale = ...
at.scale(scale, scale);
translate metodu
Şöyle yaparız.
at.translate(x, y);
Diğer
Kullanmak için şöyle yaparız.
BufferedImage image = ...;
AffineTransform at = ...;
g2d.drawImage(image, at, this);

Hiç yorum yok:

Yorum Gönder