summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--html/en/history.html2
-rw-r--r--mak.vc9/im.sln20
-rw-r--r--src/im_converttype.cpp10
-rw-r--r--test/im_info.vcproj13
4 files changed, 26 insertions, 19 deletions
diff --git a/html/en/history.html b/html/en/history.html
index fe1979b..6030df2 100644
--- a/html/en/history.html
+++ b/html/en/history.html
@@ -18,6 +18,8 @@
internally. HSI space now uses S already normalized between 0-Smax.</li>
<li><span style="color: #FF0000">Fixed:</span> <strong>imColorHSI2RGB</strong>
conversion.</li>
+ <li><span style="color: #FF0000">Fixed:</span> <strong>imConvertDataType</strong>
+ when converting a floating point to integer, there were rounding problems.</li>
</ul>
<h3 dir="ltr">Version 3.4 (14/Oct/2008)</h3>
<ul>
diff --git a/mak.vc9/im.sln b/mak.vc9/im.sln
index 99f2388..2a854ee 100644
--- a/mak.vc9/im.sln
+++ b/mak.vc9/im.sln
@@ -26,6 +26,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imlua_process5", "imlua_pro
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "im_ecw", "im_ecw.vcproj", "{CB86E507-6B6C-4FDF-9B6D-27AA123AE463}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imlab", "..\..\imlab\mak.vc9\imlab.vcproj", "{C0E4757A-8A78-48C1-B507-E2A95AA18B25}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5A761929-07C3-48BD-8E4A-B37EC5C72C42} = {5A761929-07C3-48BD-8E4A-B37EC5C72C42}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -105,13 +110,14 @@ Global
{CB86E507-6B6C-4FDF-9B6D-27AA123AE463}.Release|Win32.ActiveCfg = Debug|Win32
{CB86E507-6B6C-4FDF-9B6D-27AA123AE463}.Release|Win32.Build.0 = Debug|Win32
{CB86E507-6B6C-4FDF-9B6D-27AA123AE463}.Release|x64.ActiveCfg = Debug|Win32
- {909637FA-8229-45A9-9F42-53D8ED5F91C5}.Debug|Win32.ActiveCfg = Debug|Win32
- {909637FA-8229-45A9-9F42-53D8ED5F91C5}.Debug|Win32.Build.0 = Debug|Win32
- {909637FA-8229-45A9-9F42-53D8ED5F91C5}.Debug|x64.ActiveCfg = Debug|x64
- {909637FA-8229-45A9-9F42-53D8ED5F91C5}.Debug|x64.Build.0 = Debug|x64
- {909637FA-8229-45A9-9F42-53D8ED5F91C5}.Release|Win32.ActiveCfg = Debug|x64
- {909637FA-8229-45A9-9F42-53D8ED5F91C5}.Release|x64.ActiveCfg = Debug|x64
- {909637FA-8229-45A9-9F42-53D8ED5F91C5}.Release|x64.Build.0 = Debug|x64
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Debug|Win32.Build.0 = Debug|Win32
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Debug|x64.ActiveCfg = Debug|x64
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Debug|x64.Build.0 = Debug|x64
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Release|Win32.ActiveCfg = Release|Win32
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Release|Win32.Build.0 = Release|Win32
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Release|x64.ActiveCfg = Release|x64
+ {C0E4757A-8A78-48C1-B507-E2A95AA18B25}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/im_converttype.cpp b/src/im_converttype.cpp
index c8816ef..0c3d801 100644
--- a/src/im_converttype.cpp
+++ b/src/im_converttype.cpp
@@ -2,7 +2,7 @@
* \brief Image Data Type Conversion
*
* See Copyright Notice in im_lib.h
- * $Id: im_converttype.cpp,v 1.1 2008/10/17 06:10:16 scuri Exp $
+ * $Id: im_converttype.cpp,v 1.2 2008/11/18 20:38:21 scuri Exp $
*/
#include "im.h"
@@ -314,6 +314,9 @@ int iDemoteReal2Int(int count, const float *src_map, DSTT *dst_map, float gamma,
else
value = (*src_map++ - min)/range;
+ if (i==3603)
+ i=i;
+
// Now 0 <= value <= 1 (if min-max are correct)
if (value >= 1)
@@ -323,9 +326,10 @@ int iDemoteReal2Int(int count, const float *src_map, DSTT *dst_map, float gamma,
else
{
value = iGammaFunc(factor, (float)dst_min, gamma, value);
- if (value >= dst_max)
+ int ivalue = imRound(value);
+ if (ivalue >= dst_max)
*dst_map++ = dst_max;
- else if (value <= dst_min)
+ else if (ivalue <= dst_min)
*dst_map++ = dst_min;
else
*dst_map++ = (DSTT)imRound(value - 0.5f);
diff --git a/test/im_info.vcproj b/test/im_info.vcproj
index e78ee5a..76d7eac 100644
--- a/test/im_info.vcproj
+++ b/test/im_info.vcproj
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
+ Version="9,00"
Name="im_info"
ProjectGUID="{909637FA-8229-45A9-9F42-53D8ED5F91C5}"
Keyword="Win32Proj"
+ TargetFrameworkVersion="0"
>
<Platforms>
<Platform
@@ -40,7 +41,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../include"
+ AdditionalIncludeDirectories="../include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -64,7 +65,7 @@
AdditionalDependencies="im.lib"
OutputFile="$(OutDir)/im_info.exe"
LinkIncremental="2"
- AdditionalLibraryDirectories="C:\APP\LNG\WMFSDK9\lib;../../lib"
+ AdditionalLibraryDirectories="D:\LNG\WMFSDK9\lib;../lib"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/im_info.pdb"
SubSystem="1"
@@ -89,9 +90,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -165,9 +163,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>