pike.git
/
src
/
modules
/
Image
/
orient.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/modules/Image/orient.c:1:
-
/* $Id: orient.c,v 1.
16
2000/08/
09
17
:
32
:
57
grubba Exp $ */
+
/* $Id: orient.c,v 1.
17
2000/08/
11
19
:
22
:
14
grubba Exp $ */
/* **! module Image **! note
-
**! $Id: orient.c,v 1.
16
2000/08/
09
17
:
32
:
57
grubba Exp $
+
**! $Id: orient.c,v 1.
17
2000/08/
11
19
:
22
:
14
grubba Exp $
**! class Image */ #include "global.h" #include <math.h> #include <ctype.h> #include "stralloc.h" #include "global.h"
pike.git/src/modules/Image/orient.c:236:
{ /* Första färg, sista mörkhet */ double j=(s0->r+s0->g+s0->b-s2->r-s2->g-s2->b)/3.0; /* riktning - - riktning | */ double h=(s1->r+s1->g+s1->b-s3->r-s3->g-s3->b)/3.0; /* riktning \ - riktning / */ int z,w;
-
if (my_abs(h)>my_abs(j))
-
if (h) z=-(
int)(
32*(j/h)+(h>0)*128+64)
,
w=my_abs(h);
+
if (my_abs(
DOUBLE_TO_INT(
h)
)
>
my_abs(
DOUBLE_TO_INT(
j))
)
+
if (h)
{
+
z
=
-
DOUBLE_TO_INT
(32*(j/h)+(h>0)*128+64)
;
+
w
=
my_abs(
DOUBLE_TO_INT(
h)
)
;
+
}
else z=0,w=0;
-
else
-
z=-(
int)(
-32*(h/j)+(j>0)*128+128)
,
w=my_abs(j);
+
else
{
+
z
=
-
DOUBLE_TO_INT
(-32*(h/j)+(j>0)*128+128)
;
+
w
=
my_abs(
DOUBLE_TO_INT(
j)
)
;
+
}
d->r=(COLORTYPE)z; d->g=255;
-
d->b=(COLORTYPE
)MINIMUM
(w*mag,255);
+
d->b
=
MINIMUM
(
DOUBLE_TO_
COLORTYPE(w*mag
)
,
255);
d++; s0++; s1++; s2++; s3++; } CHRONO("end hsv..."); THREADS_DISALLOW();