Example #1
0
        //滚动条
        private void Paint_ALL_ECG_scroll(Graphics ecgGraphics)
        {
            _bp = new Bitmap(pictureEdit3.Width, pictureEdit3.Height);
            var arrylead = new List <int> {
                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
            };
            var eddNew = new EcgDataDrawNew();

            if (_ecgDataDicAfterFilter.Count == 0)
            {
                return;
            }
            eddNew.InitEcgParameter_Scroll(_bp, ecgGraphics, 12, _ecgDataDicAfterFilter, _ecgDataDicAfterFilter, 96,
                                           arrylead, _isQiBo); //96
            eddNew.Draw_EcgBackGroundGrid();                   //背景小格
            SetAandP();

            _filterIndex = _ecgDataDicAfterFilter[0].Count - 7000 > 0? (_ecgDataDicAfterFilter[0].Count - 7000) / hScrollBar_Lead.Maximum: 0;

            _leadindexdata = (hScrollBar_Lead.Value) * _filterIndex;
            //4*3+1任意单长导模式
            eddNew.Draw_EcgWave_One_Scroll(_paperSpeed, _amplitude, 940, _leadindexdata);
            eddNew.Draw_CalibrationVoltage_And_LeadName_1(_calibrationVoltage * Coefficient, IsLeader, LeaderType); //绘制定标电压和导联名称
        }
Example #2
0
        /// <summary>
        ///心电报告
        /// </summary>
        public void GetEcgViewDataImage(Image img, string addr)
        {
            var eddNew = new EcgDataDrawNew();

            _bitArray.Clear();
            var leadinfo = new List <int> {
                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
            };

            Dictionary <int, List <float> > ecgDataDicAfterFilterType = _ecgDataDicAfterFilter;
            string filter = _printFilter; // label23.Text;

            _ecgBitMap = new Bitmap((1090 * PrintDpi) / 96, (760 * PrintDpi) / 96);
            _ecgBitMap.SetResolution(PrintDpi, PrintDpi);

            eddNew.InitEcgParameter(_ecgBitMap, 12, _ecgDataDicAfterFilter, ecgDataDicAfterFilterType, PrintDpi,
                                    leadinfo, _isQiBo);



            //************************************************************************
            var ecgInfoList = new string[28];

            ecgInfoList[0] = label1.Text + label2.Text;
            ecgInfoList[1] = label14.Text + label13.Text;
            ecgInfoList[2] = label20.Text + label19.Text;
            //EcgInfo_List[3] = label4.Text + label3.Text;
            ecgInfoList[4]  = label12.Text + label11.Text;
            ecgInfoList[5]  = label18.Text + label17.Text;
            ecgInfoList[6]  = label6.Text + label5.Text;
            ecgInfoList[7]  = label10.Text + label9.Text;
            ecgInfoList[8]  = label16.Text + label15.Text;
            ecgInfoList[9]  = label8.Text + label7.Text;
            ecgInfoList[10] = ""; // label27.Text + label26.Text;
            ecgInfoList[11] = ""; // label30.Text + lblBedNum.Text;
            ecgInfoList[12] = ""; // label31.Text + lblCaseID.Text.Trim();
            ecgInfoList[13] = "血压:" + lb_DIA.Text.Trim() + "/" + lb_SYS.Text.Trim();
            ecgInfoList[14] = "血氧:" + lb_Spo2.Text.Trim();
            ecgInfoList[15] = "血糖:" + lb_Mmol.Text.Trim();
            ecgInfoList[16] = "体温:" + lb_TEMP.Text.Trim();
            ecgInfoList[17] = "LEU:" + lb_LEU.Text.Trim();
            ecgInfoList[18] = "NIT:" + lb_NIT.Text.Trim();
            ecgInfoList[19] = "UBG:" + lb_UBG.Text.Trim();
            ecgInfoList[20] = "PRO:" + lb_PRO.Text.Trim();
            ecgInfoList[21] = "BLD:" + lb_BLD.Text.Trim();
            ecgInfoList[22] = "KET:" + lb_KET.Text.Trim();
            ecgInfoList[23] = "BIL:" + lb_BIL.Text.Trim();
            ecgInfoList[24] = "GLU:" + lb_GLU.Text.Trim();
            ecgInfoList[25] = "PH:" + lb_PH.Text.Trim();
            ecgInfoList[26] = "VC:" + lb_VC.Text.Trim();
            ecgInfoList[27] = "SG:" + lb_SG.Text.Trim();

            SetAandP(); //设置增益和走速

            string diagContent = richTextBox1.Text.Trim();

            string[] diagArray = diagContent.Split('\n');
            diagContent = string.Empty;
            for (int i = 0; i < diagArray.Length; i++)
            {
                diagContent += diagArray[i].Trim();
            }

            //if (EcgData_Dic_AfterFilter.Count > 0)
            //{
            //    FilterIndex =(int)SamplingRate;
            //}
            //else
            //{//    FilterIndex = 0;
            //}
            if (_ecgDataDicAfterFilter.Count > 0)
            {
                _filterIndex = _ecgDataDicAfterFilter[0].Count - 7000 > 0
                    ? (_ecgDataDicAfterFilter[0].Count - 7000) / hScrollBar_Lead.Maximum
                    : 0;
            }
            else
            {
                _filterIndex = 0;
            }
            _leadindexdata = (hScrollBar_Lead.Value) * _filterIndex;
            //4*3 II长导模式

            eddNew.Draw_ReportHeadInfo(_reportTitleContent, lbDoctorDept.Text.Trim(), _idStr);
            eddNew.Draw_EcgInfo(ecgInfoList, true); //Draw_EcgInfo_Diag
            eddNew.Draw_DiagInfo(diagContent, lbDoctorName.Text.Trim(), DateTime.Now.ToString("yyyy-MM-dd"), filter,
                                 _currentTime.ToString(), lbDoctorDept.Text.Trim(), _amp, _ps, img, addr, true);

            eddNew.Draw_EcgBackGroundGrid(30, 171, 0); //196

            eddNew.Draw_EcgWave_longOneLeadPrint(6, 1, _paperSpeed, _amplitude, SamplingRate, _leadindexdata,
                                                 _leadindexdata); //绘制波形

            eddNew.Draw_CalibrationVoltage_And_LeadName_1(_calibrationVoltage * Coefficient, IsLeader, LeaderType);
            //绘制定标电压和导联名称



            _sourceCegBmp = _ecgBitMap;
        }