diff options
-rw-r--r-- | html/en/history.html | 2 | ||||
-rw-r--r-- | mak.vc9/im.sln | 20 | ||||
-rw-r--r-- | src/im_converttype.cpp | 10 | ||||
-rw-r--r-- | test/im_info.vcproj | 13 |
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> |