IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 19833


Ignore:
Timestamp:
Oct 2, 2008, 10:43:40 AM (18 years ago)
Author:
eugene
Message:

fix flipped images

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/kapa2/src/JPEGit24.c

    r16256 r19833  
    11# include "Ximage.h"
    22# include "jpeglib.h"
     3
     4# define MY_SWAP_INT(A,B) { int tmp; tmp = A; A = B; B = tmp; }
    35
    46# define WHITE_R 255
     
    2123  int i_start, i_end, j_start, j_end;
    2224  int dropback;  /* this is a bit of a kludge... */
    23   int dx, dy, DX, DY;
     25  int dx, dy, DX, DY, inDX, inDY;
    2426  int quality;
    2527  int expand_in, expand_out;
     
    99101  Picture_Upper (&i_end, &j_end, &image[0].image[0].matrix, &image[0].picture);
    100102
     103  if (i_end < i_start) MY_SWAP_INT (i_start, i_end);
     104  if (j_end < j_start) MY_SWAP_INT (j_start, j_end);
     105
    101106  // Ix,Iy are the first displayed image pixel
    102107  Picture_to_Image (&Ix, &Iy, i_start, j_start, &image[0].picture);
     108  Ix = MIN (MAX (0, Ix), DX - 1);
     109  Iy = MIN (MAX (0, Iy), DY - 1);
     110
     111  inDX = image[0].picture.flipx ? -1 : +1;
     112  inDY = image[0].picture.flipy ? -1 : +1;
    103113
    104114  dropback = expand_out - (i_end - i_start) % expand_out;
     
    125135 
    126136  /*** fill in the image data region ***/
    127   for (j = j_start; j < j_end; j+= expand_out, in_pix_ref += expand_in*DX) {
     137  for (j = j_start; j < j_end; j+= expand_out, in_pix_ref += inDY*expand_in*DX) {
    128138   
    129139    /* create one output image line */
     
    139149   
    140150    /*** fill in the picture region ***/
    141     for (i = i_start; i < i_end; i+=expand_out, in_pix+=expand_in) {
     151    for (i = i_start; i < i_end; i+=expand_out, in_pix += inDX*expand_in) {
    142152      for (ii = 0; ii < expand_out; ii++, out_pix+=3) {
    143153        out_pix[0] = pixel1[*in_pix];
Note: See TracChangeset for help on using the changeset viewer.