[gs-cvs] rev 6888 - trunk/gs/src
alexcher at ghostscript.com
alexcher at ghostscript.com
Sun Jul 2 04:50:19 PDT 2006
Author: alexcher
Date: 2006-07-02 04:50:18 -0700 (Sun, 02 Jul 2006)
New Revision: 6888
Modified:
trunk/gs/src/gsciemap.c
Log:
Fix calculation of the index in the DecodeDEF[G] table. The old code rendered
wildly different colors when the range of RangeDEF[G] was not close to 1.
Bug 688763.
DIFFERENCES:
None
Modified: trunk/gs/src/gsciemap.c
===================================================================
--- trunk/gs/src/gsciemap.c 2006-07-01 15:08:30 UTC (rev 6887)
+++ trunk/gs/src/gsciemap.c 2006-07-02 11:50:18 UTC (rev 6888)
@@ -116,10 +116,9 @@
double v0 = pc->paint.values[i];
const gs_range *const rangeDEFG = &pcie->RangeDEFG.ranges[i];
double value =
- (v0 < rangeDEFG->rmin ? 0.0 :
- v0 > rangeDEFG->rmax ? factor :
- (v0 - rangeDEFG->rmin) * factor /
- (rangeDEFG->rmax - rangeDEFG->rmin));
+ (v0 < rangeDEFG->rmin ? 0.0 : factor *
+ (v0 > rangeDEFG->rmax ? rangeDEFG->rmax - rangeDEFG->rmin :
+ v0 - rangeDEFG->rmin ));
int vi = (int)value;
double vf = value - vi;
double v = pcie->caches_defg.DecodeDEFG[i].floats.values[vi];
@@ -175,10 +174,9 @@
double v0 = pc->paint.values[i];
const gs_range *const rangeDEF = &pcie->RangeDEF.ranges[i];
double value =
- (v0 < rangeDEF->rmin ? 0.0 :
- v0 > rangeDEF->rmax ? factor :
- (v0 - rangeDEF->rmin) * factor /
- (rangeDEF->rmax - rangeDEF->rmin));
+ (v0 < rangeDEF->rmin ? 0.0 : factor *
+ (v0 > rangeDEF->rmax ? rangeDEF->rmax - rangeDEF->rmin :
+ v0 - rangeDEF->rmin ));
int vi = (int)value;
double vf = value - vi;
double v = pcie->caches_def.DecodeDEF[i].floats.values[vi];
More information about the gs-cvs
mailing list