📄 unit1.cpp~
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "spmdll.h"
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
double m_spectrum[3648],WL[3648], m_integration, m_average, m_boxcar;
//---------------------------------------------------------------------------
int CalcWL()
{
return 0;
}
void DrawCordinate()
{
int i;
int minX, minY, maxX, maxY;
POINT m_ptStart, m_ptEnd;
Form1->PaintBox1->Canvas->Pen->Color = clBlue;
Form1->PaintBox1->Canvas->Pen->Mode = pmBlack;
Form1->PaintBox1->Canvas->Pen->Width = 2;
// PaintBox1->Canvas->Brush->Style = bs
minX = Form1->PaintBox1->Width /10;
minY = Form1->PaintBox1->Height/10;
maxX = Form1->PaintBox1->Width*95/100;
maxY = Form1->PaintBox1->Height*95/100;
m_ptStart.x = minX;
m_ptStart.y = maxY;
m_ptEnd.x = maxX;
m_ptEnd.y = maxY;
Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
m_ptStart.x = minX;
m_ptStart.y = maxY;
m_ptEnd.x = minX;
m_ptEnd.y = minY;
Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
Form1->PaintBox1->Canvas->Pen->Width = 1;
for(i=0;i<6;i++)
{
m_ptStart.x = (maxX - minX) / 6 * (i + 1) + minX;
m_ptStart.y = maxY;
m_ptEnd.x = m_ptStart.x;
m_ptEnd.y = m_ptStart.y - 10;
Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
Form1->PaintBox1->Canvas->TextOutA(m_ptStart.x - 10, m_ptStart.y + 3, IntToStr(200 * i + 200));
}
for(i=0;i<7;i++)
{
m_ptStart.x = minX;
m_ptStart.y = maxY - (maxY - minY) / 7 * (i + 1);
m_ptEnd.x = m_ptStart.x + 10;
m_ptEnd.y = m_ptStart.y;
Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
Form1->PaintBox1->Canvas->TextOutA(m_ptStart.x - 35, m_ptStart.y, IntToStr(10000 * i + 10000));
}
}
void DrawSpectrum()
{
int ret, i;
float factorX, factorY;
POINT m_ptStart, m_ptEnd;
Form1->PaintBox1->Canvas->FillRect(Form1->PaintBox1->ClientRect);
DrawCordinate();
Form1->PaintBox1->Canvas->Pen->Mode = pmCopy;
factorX = (float)Form1->PaintBox1->Width * 85.0 / 100.0 / 1200.0;
factorY = (float)Form1->PaintBox1->Height * 85.0 / 100.0 / 70000.0;
m_ptStart.x=Form1->PaintBox1->Width/10.0 + WL[0] * factorX;
m_ptStart.y=Form1->PaintBox1->Height*85.0/100.0 - m_spectrum[0] * factorY;
Form1->PaintBox1->Canvas->MoveTo(m_ptStart.x, m_ptStart.y);
for(i=0;i<3648;i++)
{
m_ptEnd.x=Form1->PaintBox1->Width/10.0 + WL[i] * factorX;
m_ptEnd.y=Form1->PaintBox1->Height*85.0/100.0 - m_spectrum[i] * factorY;
Form1->PaintBox1->Canvas->LineTo(m_ptEnd.x, m_ptEnd.y);
}
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
m_integration = StrToInt(Edit2->Text);
m_average = StrToInt(Edit3->Text);
m_boxcar = StrToInt(Edit4->Text);
ini(StrToInt(Edit2->Text), StrToInt(Edit3->Text), StrToInt(Edit4->Text));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if((StrToInt(Edit2->Text)!=m_integration)||(StrToInt(Edit3->Text)!=m_average)||(StrToInt(Edit4->Text)!=m_boxcar)){
m_integration = StrToInt(Edit2->Text);
m_average = StrToInt(Edit3->Text);
m_boxcar = StrToInt(Edit4->Text);
setScanParameter(m_integration, m_average, m_boxcar);
}
DoScan();
getSpectrum(m_spectrum);
getWavelengths(WL);
DrawCordinate();
DrawSpectrum();
int pix = StrToInt(Edit1->Text);
if(pix<3648)
{
Label18->Caption =WL[pix];
Label1->Caption = m_spectrum[pix];
}
Label13->Caption = FloatToStr(get_littleX());
Label14->Caption = FloatToStr(get_littleY());
Label15->Caption = FloatToStr(get_dominant());
Label16->Caption = FloatToStr(get_purity());
Label17->Caption = FloatToStr(get_CCT());
BitBtn1->Enabled = true;
Button2->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
{
DrawCordinate();
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
saveCalibrationDark();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
saveCalibrationReference();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
saveDark();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
newthread = new th1(false);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -