diff options
| author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2019-06-17 10:43:31 +0900 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2019-06-17 10:43:31 +0900 |
| commit | 8c56eb0525c22acee713434840c2ef0a1a3811cc (patch) | |
| tree | 4d2c2bd7f292cab24a7d60ce6728249f0da4cd1c | |
| parent | 421220e2946dadab77fbfc79cf4f0daa49961c41 (diff) | |
| download | emacs-8c56eb0525c22acee713434840c2ef0a1a3811cc.tar.gz | |
Avoid rounding error in image rotation
* src/image.c (image_set_rotation): Halve translations as double values.
| -rw-r--r-- | src/image.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/image.c b/src/image.c index a3747cfa6b7..c08b898e7d8 100644 --- a/src/image.c +++ b/src/image.c @@ -2139,7 +2139,7 @@ image_set_rotation (struct image *img, matrix3x3 tm) matrix3x3 t = { [0][0] = 1, [1][1] = 1, - [2][0] = img->width >> 1, [2][1] = img->height >> 1, [2][2] = 1 }; + [2][0] = img->width * .5, [2][1] = img->height * .5, [2][2] = 1 }; matrix3x3 tmp; matrix3x3_mult (t, tm, tmp); @@ -2151,8 +2151,8 @@ image_set_rotation (struct image *img, matrix3x3 tm) matrix3x3_mult (rot, tmp, tmp2); /* Translate back. */ - t[2][0] = - (width >> 1); - t[2][1] = - (height >> 1); + t[2][0] = - (width * .5); + t[2][1] = - (height * .5); matrix3x3_mult (t, tmp2, tm); img->width = width; |
