图像处理DCRAW源码_工具


读raw data、jpeg、bmp等多种格式的文件,实现gamma矫正等各种ISP算法下的多个功能
资源截图
代码片段和文件信息
//Download by http://www.NewXing.com
/*
 * TIFF file IO using CxFile.
 */

#ifdef WIN32
 #include 
#endif
#include 

#include “ximage.h“

#if CXIMAGE_SUPPORT_TIF

#include “../tiff/tiffiop.h“

#include “xfile.h“

static tsize_t 
_tiffReadProcEx(thandle_t fd tdata_t buf tsize_t size)
{
return (tsize_t)((CxFile*)fd)->Read(buf 1 size);
}

static tsize_t
_tiffWriteProcEx(thandle_t fd tdata_t buf tsize_t size)
{
return (tsize_t)((CxFile*)fd)->Write(buf 1 size);
}

static toff_t
_tiffSeekProcEx(thandle_t fd toff_t off int whence)
{
if ( off == 0xFFFFFFFF ) 
return 0xFFFFFFFF;
if (!((CxFile*)fd)->Seek(off whence))
return 0xFFFFFFFF;
if (whence == SEEK_SET)
return off;

return (toff_t)((CxFile*)fd)->Tell();
}

// Return nonzero if error
static int
_tiffCloseProcEx(thandle_t /*fd*/)
{
// return !((CxFile*)fd)->Close(); // “//“ needed for memory files 
return 0;
}

#include 

static toff_t
_tiffSizeProcEx(thandle_t fd)
{
return ((CxFile*)fd)->Size();
}

static int
_tiffMapProcEx(thandle_t /*fd*/ tdata_t* /*pbase*/ toff_t* /*psize*/)
{
return (0);
}

static void
_tiffUnmapProcEx(thandle_t /*fd*/ tdata_t /*base*/ toff_t /*size*/)
{
}

// Open a TIFF file descriptor for read/writing.
/*
TIFF*
TIFFOpen(const char* name const char* mode)
{
static const char module[] = “TIFFOpen“;
   FILE* stream = fopen(name mode);
if (stream == NULL) 
   {
TIFFError(module “%s: Cannot open“ name);
return NULL;
}
return (TIFFFdOpen((int)stream name mode));
}
*/

TIFF*
_TIFFFdOpen(void* fd const char* name const char* mode)
{
TIFF* tif;

tif = TIFFClientOpen(name mode
    (thandle_t) fd
    _tiffReadProcEx _tiffWriteProcEx _tiffSeekProcEx _tiffCloseProcEx
    _tiffSizeProcEx _tiffMapProcEx _tiffUnmapProcEx);
if (tif)
tif->tif_fd = fd;
return (tif);
}

extern “C“ TIFF* _TIFFOpenEx(CxFile* stream const char* mode)
{
return (_TIFFFdOpen(stream “TIFF IMAGE“ mode));
}

#ifdef __GNUC__
extern char* malloc();
extern char* realloc();
#else
#include 
#endif

tdata_t
_TIFFmalloc(tsize_t s)
{
return (malloc((size_t) s));
}

void
_TIFFfree(tdata_t p)
{
free(p);
}

tdata_t
_TIFFrealloc(tdata_t p tsize_t s)
{
return (realloc(p (size_t) s));
}

void
_TIFFmemset(tdata_t p int v tsize_t c)
{
memset(p v (size_t) c);
}

void
_TIFFmemcpy(tdata_t d const tdata_t s tsize_t c)
{
memcpy(d s (size_t) c);
}

int
_TIFFmemcmp(const tdata_t p1 const tdata_t p2 tsize_t c)
{
return (memcmp(p1 p2 (size_t) c));
}

#ifndef UNICODE
#define DbgPrint wvsprintf
#define DbgPrint2 wsprintf
#define DbgMsgBox MessageBox
#else
#define DbgPrint wvsprintfA
#define DbgPrint2 wsprintfA
#define DbgMsgBox MessageBoxA
#endif

static void
Win32WarningHandler(const char* module const char* fmt va_list ap)
{
#ifdef _DEBUG
#if (!defined(_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-18 02:11  DCRAW_cximage600_full
     目录           0  2017-07-18 02:11  DCRAW_cximage600_fullin
     文件     3229696  2017-07-18 02:11  DCRAW_cximage600_fullindemod.exe
     文件        9434  2017-07-18 02:11  DCRAW_cximage600_fullindemod.exp
     文件     5692492  2017-07-18 02:11  DCRAW_cximage600_fullindemod.ilk
     文件       15838  2017-07-18 02:11  DCRAW_cximage600_fullindemod.lib
     目录           0  2017-07-18 02:10  DCRAW_cximage600_fullCxImage
     文件        9193  2008-01-29 00:34  DCRAW_cximage600_fullCxImagecximage.dsp
     文件         537  2001-08-06 17:19  DCRAW_cximage600_fullCxImagecximage.dsw
     文件       49784  2017-07-18 02:10  DCRAW_cximage600_fullCxImagecximage.vcproj
     文件        2619  2017-07-18 02:12  DCRAW_cximage600_fullCxImagecximage.vcproj.DESKTOP-N520FAJ.wtsitp.user
     目录           0  2017-07-18 02:10  DCRAW_cximage600_fullCxImageCxImageDLL
     文件         332  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLLCxImageCrtDll.cpp
     文件       11859  2008-01-29 19:27  DCRAW_cximage600_fullCxImageCxImageDLLCxImageCrtDll.dsp
     文件        3035  2008-02-03 17:07  DCRAW_cximage600_fullCxImageCxImageDLLCxImageCrtDll.rc
     文件       41744  2017-07-18 02:10  DCRAW_cximage600_fullCxImageCxImageDLLCxImageCrtDll.vcproj
     文件        2619  2017-07-18 02:12  DCRAW_cximage600_fullCxImageCxImageDLLCxImageCrtDll.vcproj.DESKTOP-N520FAJ.wtsitp.user
     文件        2998  2003-04-06 13:33  DCRAW_cximage600_fullCxImageCxImageDLLCxImageDll.dsw
     文件         364  2003-03-23 14:55  DCRAW_cximage600_fullCxImageCxImageDLLCxImageMfcDll.clw
     文件        1855  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLLCxImageMfcDll.cpp
     文件       11043  2008-01-29 00:59  DCRAW_cximage600_fullCxImageCxImageDLLcximagemfcdll.dsp
     文件        1368  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLLCxImageMfcDll.h
     文件        3031  2008-01-29 20:06  DCRAW_cximage600_fullCxImageCxImageDLLCxImageMfcDll.rc
     文件       43087  2017-07-18 02:10  DCRAW_cximage600_fullCxImageCxImageDLLcximagemfcdll.vcproj
     文件        2619  2017-07-18 02:12  DCRAW_cximage600_fullCxImageCxImageDLLcximagemfcdll.vcproj.DESKTOP-N520FAJ.wtsitp.user
     文件         457  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLL
esource.h
     文件         457  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLL
esrc1.h
     文件         253  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLLStdAfx.cpp
     文件        1534  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLLStdAfx.h
     文件         840  2013-12-02 03:40  DCRAW_cximage600_fullCxImageCxImageDLLStdCrt.h
     目录           0  2017-07-18 02:11  DCRAW_cximage600_fullCxImageDebug
............此处省略1020个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)