public void OnPrinterSettingChange(AllParam ss) { SynchFromCalib(ref ss); curNO = ss.NozzleOverlap; CurrentModel = (CloseColorNozzleModelEnum)ss.Preference.CloseNozzleSetMode; comboBox_model.SelectedIndex = (int)ss.Preference.CloseNozzleSetMode; ss.NozzleOverlap = GetDefaultNozzleOverlap(CurrentModel); LoadData(ss.NozzleOverlap); loadDataDone = true; }
private void comboBox_model_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox_model.SelectedIndex >= 0) { CurrentModel = (CloseColorNozzleModelEnum)comboBox_model.SelectedIndex; flowLayoutPanel1.Controls.Clear(); BuildLayoutPanel(); if (loadDataDone) { SNozzleOverlap sNO = GetDefaultNozzleOverlap(CurrentModel); LoadData(sNO); } } }
//构造不同模式下的默认数据 private SNozzleOverlap GetDefaultNozzleOverlap(CloseColorNozzleModelEnum CurrentModel) { SNozzleOverlap result = curNO; int maxColorNum = 32; int m_ColorNum = CoreInterface.GetLayoutColorNum(); int m_ColorNumAndColumnNum = m_ColorNum * m_HorColumnNum; for (int i = 0; i < RowNum; i++) { for (int j = 0; j < m_ColorNumAndColumnNum; j++) { switch (CurrentModel) { case CloseColorNozzleModelEnum.Easy: //简单模式(默认切点不羽化) result.OverLapUpWasteNozzle[i * maxColorNum + j] = result.OverLapTotalNozzle[i * maxColorNum + j]; result.OverLapDownWasteNozzle[i * maxColorNum + j] = 0; result.OverLapUpPercent[i * maxColorNum + j] = 50; result.OverLapDownPercent[i * maxColorNum + j] = 50; break; case CloseColorNozzleModelEnum.Feather: //羽化模式(默认羽化) result.OverLapUpWasteNozzle[i * maxColorNum + j] = 0; result.OverLapDownWasteNozzle[i * maxColorNum + j] = 0; result.OverLapUpPercent[i * maxColorNum + j] = 0; result.OverLapDownPercent[i * maxColorNum + j] = 0; break; case CloseColorNozzleModelEnum.Advanced: //高级模式(返回原值) break; default: break; } } } return(result); }