⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 c#写的读fpf文件的程序
💻 CS
📖 第 1 页 / 共 2 页
字号:
                    for (int j = 0; j < FPF_FILTER_TYPE_LEN + 1; j++)
                    {
                        fpf_Header.camData.filter_name[j] = (char)(buffer[i++]);
                    }
                    for (int j = 0; j < FPF_FILTER_PARTN_LEN + 1; j++)
                    {
                        fpf_Header.camData.filter_partn[j] = (char)(buffer[i++]);
                    }
                    for (int j = 0; j < FPF_FILTER_SN_LEN + 1; j++)
                    {
                        fpf_Header.camData.filter_sn[j] = (char)(buffer[i++]);
                    }
                    for (int j = 0; j < 16; j++)
                    {
                        fpf_Header.camData.spareLong[j] = (long)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    }
                    
                    //获得FPF_OBJECT_PAR_T类型的数据;
                    buffer = new byte[FPF_OBJECT_PAR_T_LEN];
                    stream.Read(buffer, 0, FPF_OBJECT_PAR_T_LEN);
                    i = 0;
                    pB = (Byte*)(&fpf_Header.objPar.emissivity);
                    for (int j = 0; j < 40; j++)
                    {
                        pB[j] = (buffer[i++]);
                    }
                    for (int j = 0; j < 16; j++)
                    {
                        fpf_Header.objPar.spareLong[j] = (long)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    }

                    //获得FPF_DATETIME_T类型的数据;
                    buffer = new byte[FPF_DATETIME_T_LEN];
                    stream.Read(buffer, 0, FPF_DATETIME_T_LEN);
                    i = 0;
                    fpf_Header.datetime.Year = (int)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    fpf_Header.datetime.Month = (int)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    fpf_Header.datetime.Day = (int)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    fpf_Header.datetime.Hour = (int)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    fpf_Header.datetime.Minute = (int)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    fpf_Header.datetime.Second = (int)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    fpf_Header.datetime.MilliSecond = (int)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    for (int j = 0; j < 16; j++)
                    {
                        fpf_Header.objPar.spareLong[j] = (long)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    }
                    
                    //获得FPF_SCALING_T类型的数据;
                    buffer = new byte[FPF_SCALING_T_LEN];
                    stream.Read(buffer, 0, FPF_SCALING_T_LEN);
                    i = 0;
                    pB = (Byte*)(&fpf_Header.scaling.tMinCam);
                    for (int j = 0; j < 24; j++)
                    {
                        pB[j] = (buffer[i++]);
                    }
                    for (int j = 0; j < 16; j++)
                    {
                        fpf_Header.objPar.spareLong[j] = (long)((buffer[i++]) + (buffer[i++] << 8) + (buffer[i++] << 16) + (buffer[i++] << 24));
                    }
                    stream.Close();

                    CFPFDlg fpfdlg=new CFPFDlg();
                    //给fpfdlg对象赋值;
                    fpfdlg.m_ImageID =new String(fpf_Header.imgData.fpfID);
                    fpfdlg.m_ImageVersion = (long)fpf_Header.imgData.version;
                    fpfdlg.m_PixelOffset = (long)fpf_Header.imgData.pixelOffset;
                    fpfdlg.m_ImageType = fpf_Header.imgData.ImageType;
                    fpfdlg.m_PixelFormat = fpf_Header.imgData.pixelFormat;
                    fpfdlg.m_ImageSize = fpf_Header.imgData.xSize.ToString()+" x "+fpf_Header.imgData.ySize.ToString();
                    fpfdlg.m_FrameCount = (long)fpf_Header.imgData.frame_count;
                    fpfdlg.m_TricCount = (long)fpf_Header.imgData.trig_count;

                    fpfdlg.m_CamType = new String(fpf_Header.camData.camera_name);
                    fpfdlg.m_CamPN = new String(fpf_Header.camData.camera_partn);
                    fpfdlg.m_CamSN = new String(fpf_Header.camData.camera_sn);
                    fpfdlg.m_CamRange = fpf_Header.camData.camera_range_tmin.ToString()+" K - "+fpf_Header.camData.camera_range_tmax.ToString()+" K";
                    fpfdlg.m_CamLens = new String(fpf_Header.camData.lens_name);
                    fpfdlg.m_LensPN = new String(fpf_Header.camData.lens_partn);
                    fpfdlg.m_LensSN = new String(fpf_Header.camData.lens_sn);
                    fpfdlg.m_Filter = new String(fpf_Header.camData.filter_name);
                    fpfdlg.m_FilterPN = new String(fpf_Header.camData.filter_partn);
                    fpfdlg.m_FilterSN = new String(fpf_Header.camData.filter_sn);

                    fpfdlg.m_Emissivity = fpf_Header.objPar.emissivity;
                    fpfdlg.m_Distance = fpf_Header.objPar.objectDistance;
                    fpfdlg.m_Reflected = fpf_Header.objPar.ambTemp;
                    fpfdlg.m_Atmospheric = fpf_Header.objPar.atmTemp;
                    fpfdlg.m_RelHum = fpf_Header.objPar.relHum * 100.0f;
                    fpfdlg.m_CompTao = fpf_Header.objPar.compuTao;
                    fpfdlg.m_EstimTao = fpf_Header.objPar.estimTao;
                    fpfdlg.m_RefTemp = fpf_Header.objPar.refTemp;
                    fpfdlg.m_ExtOptTemp = fpf_Header.objPar.extOptTemp;
                    fpfdlg.m_ExtOptTrans = fpf_Header.objPar.extOptTrans;

                    fpfdlg.m_ImageTime = fpf_Header.datetime.Year.ToString() + "-" +(fpf_Header.datetime.Month.ToString().Length < 2 ? "0" + fpf_Header.datetime.Month.ToString() : fpf_Header.datetime.Month.ToString()) + "-" + (fpf_Header.datetime.Day.ToString().Length < 2 ? "0" + fpf_Header.datetime.Day.ToString() : fpf_Header.datetime.Day.ToString()) + " " + fpf_Header.datetime.Hour.ToString() + ":" + fpf_Header.datetime.Minute.ToString() + ":" + fpf_Header.datetime.Second.ToString() + "." + fpf_Header.datetime.MilliSecond.ToString();
                    fpfdlg.m_ScaleMin = fpf_Header.scaling.tMinScale;
                    fpfdlg.m_ScaleMax = fpf_Header.scaling.tMaxScale;
                    fpfdlg.m_CalcMin = fpf_Header.scaling.tMinCalc;
                    fpfdlg.m_CalcMax = fpf_Header.scaling.tMaxCalc;
                    fpfdlg.m_CamScaleMin = fpf_Header.scaling.tMinCam;
                    fpfdlg.m_CamScaleMax = fpf_Header.scaling.tMaxCam;

                    //显示数据;(可以省略)
                    richTextBox1.Text = "";
                    richTextBox1.Text += "fpfdlg.m_ImageID ="+fpfdlg.m_ImageID +"\n";
                    richTextBox1.Text += "fpfdlg.m_ImageVersion=" + fpfdlg.m_ImageVersion + "\n";
                    richTextBox1.Text += "fpfdlg.m_PixelOffset=" + fpfdlg.m_PixelOffset + "\n";
                    richTextBox1.Text += "fpfdlg.m_ImageType=" + fpfdlg.m_ImageType + "\n";
                    richTextBox1.Text += "fpfdlg.m_PixelFormat=" + fpfdlg.m_PixelFormat + "\n";
                    richTextBox1.Text += "fpfdlg.m_ImageSize=" + fpfdlg.m_ImageSize + "\n";
                    richTextBox1.Text += "fpfdlg.m_FrameCount=" + fpfdlg.m_FrameCount + "\n";
                    richTextBox1.Text += "fpfdlg.m_TricCount=" + fpfdlg.m_TricCount + "\n";
                    richTextBox1.Text += "fpfdlg.m_CamType=" + fpfdlg.m_CamType + "\n";
                    richTextBox1.Text += "fpfdlg.m_CamPN=" + fpfdlg.m_CamPN + "\n";
                    richTextBox1.Text += "fpfdlg.m_CamSN=" + fpfdlg.m_CamSN + "\n";
                    richTextBox1.Text += "fpfdlg.m_CamRange=" + fpfdlg.m_CamRange + "\n";
                    richTextBox1.Text += "fpfdlg.m_CamLens=" + fpfdlg.m_CamLens + "\n";
                    richTextBox1.Text += "fpfdlg.m_LensPN=" + fpfdlg.m_LensPN + "\n";
                    richTextBox1.Text += "fpfdlg.m_LensSN=" + fpfdlg.m_LensSN + "\n";
                    richTextBox1.Text += "fpfdlg.m_Filter=" + fpfdlg.m_Filter + "\n";
                    richTextBox1.Text += "fpfdlg.m_FilterPN=" + fpfdlg.m_FilterPN + "\n";
                    richTextBox1.Text += "fpfdlg.m_FilterSN=" + fpfdlg.m_FilterSN + "\n";
                    richTextBox1.Text += "fpfdlg.m_Emissivity=" + fpfdlg.m_Emissivity + "\n";
                    richTextBox1.Text += "fpfdlg.m_Distance=" + fpfdlg.m_Distance + "\n";
                    richTextBox1.Text += "fpfdlg.m_Reflected=" + fpfdlg.m_Reflected + "\n";
                    richTextBox1.Text += "fpfdlg.m_Atmospheric=" + fpfdlg.m_Atmospheric + "\n";
                    richTextBox1.Text += "fpfdlg.m_RelHum=" + fpfdlg.m_RelHum + "\n";
                    richTextBox1.Text += "fpfdlg.m_CompTao=" + fpfdlg.m_CompTao + "\n";
                    richTextBox1.Text += "fpfdlg.m_EstimTao=" + fpfdlg.m_EstimTao + "\n";
                    richTextBox1.Text += "fpfdlg.m_RefTemp=" + fpfdlg.m_RefTemp + "\n";
                    richTextBox1.Text += "fpfdlg.m_ExtOptTemp=" + fpfdlg.m_ExtOptTemp + "\n";
                    richTextBox1.Text += "fpfdlg.m_ExtOptTrans=" + fpfdlg.m_ExtOptTrans + "\n";
                    richTextBox1.Text += "fpfdlg.m_ImageTime=" + fpfdlg.m_ImageTime + "\n";
                    richTextBox1.Text += "fpfdlg.m_ScaleMin=" + fpfdlg.m_ScaleMin + "\n";
                    richTextBox1.Text += "fpfdlg.m_ScaleMax=" + fpfdlg.m_ScaleMax + "\n";
                    richTextBox1.Text += "fpfdlg.m_CalcMin=" + fpfdlg.m_CalcMin + "\n";
                    richTextBox1.Text += "fpfdlg.m_CalcMax=" + fpfdlg.m_CalcMax + "\n";
                    richTextBox1.Text += "fpfdlg.m_CamScaleMin=" + fpfdlg.m_CamScaleMin + "\n";
                    richTextBox1.Text += "fpfdlg.m_CamScaleMax=" + fpfdlg.m_CamScaleMax;
                    
                }
            }
            catch(Exception excep1)
            {
                MessageBox.Show(excep1.ToString());
            }
        }
        }

        private void button_Close_FPF_Click(object sender, EventArgs e)
        {

        }
    }

    public class CFPFDlg
    {
        // Construction
        public CFPFDlg()   // standard constructor
        {
            //CWnd* pParent = NULL;
        }

        // Dialog Data
	    enum    IDD{IDD_FPF_DATA };
	    public string	m_ImageID;
        public long m_ImageVersion;
        public uint m_ImageType;
        public uint m_PixelFormat;
        public long m_PixelOffset;
        public string m_ImageSize;
        public long m_FrameCount;
        public long m_TricCount;
        public string m_CamType;
        public string m_CamPN;
        public string m_CamSN;
        public string m_CamRange;
        public string m_CamLens;
        public string m_LensPN;
        public string m_LensSN;
        public string m_Filter;
        public string m_FilterPN;
        public string m_FilterSN;
        public float m_Emissivity;
        public float m_Distance;
        public float m_Atmospheric;
        public float m_RelHum;
        public float m_CompTao;
        public float m_EstimTao;
        public string m_ImageTime;
        public float m_RefTemp;
        public float m_ExtOptTemp;
        public float m_ExtOptTrans;
        public float m_ScaleMax;
        public float m_ScaleMin;
        public float m_CamScaleMax;
        public float m_CamScaleMin;
        public float m_CalcMax;
        public float m_CalcMin;
        public float m_Reflected;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -