pike.git / src / modules / Image / orient.c

version» Context lines:

pike.git/src/modules/Image/orient.c:1: - /* $Id: orient.c,v 1.15 2000/07/28 07:12:44 hubbe Exp $ */ + /* $Id: orient.c,v 1.16 2000/08/09 17:32:57 grubba Exp $ */      /*   **! module Image   **! note - **! $Id: orient.c,v 1.15 2000/07/28 07:12:44 hubbe Exp $ + **! $Id: orient.c,v 1.16 2000/08/09 17:32:57 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:152:   CHRONO("end");   THREADS_DISALLOW();   }      void image_orient(INT32 args)   {    struct object *o[5];    struct image *img[5],*this,*img1;    int n;    rgb_group *d,*s1,*s2,*s3,*s0; -  float mag; +  double mag;    int i, w, h;       if (!THIS->img) { error("Called Image.Image object is not initialized\n");; return; }       this=THIS;       if (args)    {    if (sp[-args].type==T_INT)    mag=sp[-args].u.integer;
pike.git/src/modules/Image/orient.c:228:    s2=img[2]->img;    s3=img[3]->img;    d=img[4]->img;      THREADS_ALLOW();   CHRONO("begin hsv...");    n=this->xsize*this->ysize;    while (n--)    {    /* Första färg, sista mörkhet */ -  float j=(s0->r+s0->g+s0->b-s2->r-s2->g-s2->b)/3.0; +  double j=(s0->r+s0->g+s0->b-s2->r-s2->g-s2->b)/3.0;    /* riktning - - riktning | */    -  float h=(s1->r+s1->g+s1->b-s3->r-s3->g-s3->b)/3.0; +  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);    else z=0,w=0;    else    z=-(int)(-32*(h/j)+(j>0)*128+128),w=my_abs(j);