Guest User

tga_16bit_transparency_elperepat

a guest
Apr 28th, 2015
86
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --- ImageMagick-6.9.1-2_HEAD/coders/tga.c   2015-04-11 08:37:38.000000000 -0400
  2. +++ ImageMagick-6.9.1-2/coders/tga.c    2015-04-28 10:20:45.618012405 -0400
  3. @@ -464,8 +464,8 @@
  4.                (1UL*(j & 0xe0) >> 5),range);
  5.              pixel.blue=ScaleAnyToQuantum(1UL*(j & 0x1f),range);
  6.              if (image->matte != MagickFalse)
  7. -              pixel.opacity=(k & 0x80) == 0 ? (Quantum) OpaqueOpacity :
  8. -                (Quantum) TransparentOpacity;
  9. +              pixel.opacity=(k & 0x80) == 0 ? (Quantum) TransparentOpacity :
  10. +                (Quantum) OpaqueOpacity;
  11.              if (image->storage_class == PseudoClass)
  12.                index=ConstrainColormapIndex(image,((size_t) k << 8)+j);
  13.              break;
  14. @@ -671,7 +671,7 @@
  15.                  ((green & 0x07) << 5);
  16.                (void) WriteBlobByte(image,value);
  17.                value=(unsigned char) ((((image->matte != MagickFalse) &&
  18. -                (GetPixelAlpha(p) < midpoint)) ? 80 : 0) | ((unsigned char)
  19. +                (GetPixelAlpha(p) > midpoint)) ? 0x80 : 0) | ((unsigned char)
  20.                  ScaleQuantumToAny(GetPixelRed(p),range) << 2) |
  21.                  ((green & 0x18) >> 3));
  22.                (void) WriteBlobByte(image,value);
  23. @@ -776,8 +776,14 @@
  24.            Full color TGA raster.
  25.          */
  26.          tga_info.image_type=compression == RLECompression ? TGARLERGB : TGARGB;
  27. -        if (image_info->depth == 5)
  28. +        if (image_info->depth == 5)
  29. +     {
  30.            tga_info.bits_per_pixel=16;
  31. +     if (image->matte != MagickFalse)
  32. +              {
  33. +                tga_info.attributes=1;  /* # of alpha bits */
  34. +              }
  35. +     }
  36.          else
  37.            {
  38.              tga_info.bits_per_pixel=24;
  39. @@ -843,7 +849,7 @@
  40.              *q++=((unsigned char) ScaleQuantumToAny(image->colormap[i].blue,
  41.                range)) | ((green & 0x07) << 5);
  42.              *q++=(((image->matte != MagickFalse) && (
  43. -              (double) image->colormap[i].opacity > midpoint)) ? 80 : 0) |
  44. +              (double) image->colormap[i].opacity > midpoint)) ? 0x80 : 0) |
  45.                ((unsigned char) ScaleQuantumToAny(image->colormap[i].red,
  46.                range) << 2) | ((green & 0x18) >> 3);
  47.            }
RAW Paste Data