当前位置:[北京同好会]>[编程]>[BCB控件]

 

自编的几个天文和图像处理控件

控件:

class PACKAGE TRawCr2 : public Tcomponent

Method:

bool readcr2(AnsiString fname);
读入CR2文件,解码部分tiff,exif和makernote信息,关闭文件。信息和缩略图保存在变量中。

TJPEGImage *getthumb(void);
Graphics::TBitmap * getrgb(void);
TJPEGImage * getjpeg(void);
获得缩略图句柄,不打开文件。

TStringList * getinfo(void);
获得信息句柄,不打开文件。

void savedcr(void);
重新打开文件,解码CFA数据,剪裁至图像尺寸(左、上边缘覆盖部分被裁掉),保存为dcr文件

(2005-9-6)

class PACKAGE TDcr : public TComponent

Method:

void clear(void):
清空内存图像。

bool read(AnsiString f);
读入DCR文件f。

bool save(AnsiString f);
保存内存图像为DCR文件f。

bool sub(AnsiString f);
内存图像减去DCR文件f。

bool add(AnsiString f);
内存图像加上DCR文件f。若内存图像为空,读入文件f。

bool dm_4channel(AnsiString f);
内存图像去马赛克。CFA直接转化为4个色层,每个RGGB单元存为4层,即R,G1,B,G2。图像缩小一半,存为ldf文件

bool dm_bilinear(AnsiString f);
内存图像去马赛克。双线性算法,存为ldf文件f。

bool dm_median(AnsiString f);
内存图像去马赛克。中值插值算法,存为ldf文件f。

bool sub(unsigned short int isub);
内存图像减去常数。

bool add(unsigned short int iadd);
内存图像加上常数。

bool div(unsigned short n);
内存图像除以常数。

bool balance(float red,float blue);
调节白平衡。红、蓝通道乘以相应系数

bool multi(double r);
内存图像乘以常数。

bool TDcr::getbmp(Graphics::TBitmap *imrgb);
内存图像的1/8缩略图(经0.45反差校正)读入imrgb中。

(2005-9-21)