/// <summary> /// 双重水印算法调度 /// </summary> private void Switch_algorithm2() { MarkProducer myMark = new MarkProducer(); switch (algorithm2) { case 1: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6); flag = flag && (parameter5 < 1) && (parameter5 > 0) && (parameter6 >= 3.57) && (parameter6 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter5, parameter6, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); lblInfo.Content = "水印生成完毕!"; myPicShow(); } break; case 2: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6) && float.TryParse(txtPara7.Text, out parameter7); flag = flag && (parameter5 <= 200) && (parameter5 >= 0) && (parameter6 < 1) && (parameter6 > 0) && (parameter7 >= 3.57) && (parameter7 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); txtPara7.Clear(); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter6, parameter7, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); login.set_Hamming(picHarmming); bufPic = myMark.BitExPicMark((int)parameter5, parameter1, parameter2, (picX - 1) + (picY - 1) + 8, bufPic, 2); lblInfo.Content = "水印生成完毕!"; myPicShow(); } break; default: MessageBox.Show("请您选择第三步算法!", "操作提示"); break; } }
/// <summary> /// 双重水印算法调度 /// </summary> private void Switch_algorithm2() { MarkProducer myMark = new MarkProducer(); switch (algorithm2) { case 1: flag = flag && (parameter5 < 1) && (parameter5 > 0) && (parameter6 >= 3.57) && (parameter6 <= 4); if (flag == false) { MessageBox.Show("图像水印参数导入出错!", "操作提示"); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter5, parameter6, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); myPicShow(); } break; case 2: flag = flag && (parameter5 <= 200) && (parameter5 >= 0) && (parameter6 < 1) && (parameter6 > 0) && (parameter7 >= 3.57) && (parameter7 <= 4); if (flag == false) { MessageBox.Show("图像水印参数导入出错!", "操作提示"); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter6, parameter7, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); login.set_Hamming(picHarmming); bufPic = myMark.BitExPicMark((int)parameter5, parameter1, parameter2, (picX - 1) + (picY - 1) + 8, bufPic, 2); myPicShow(); } break; default: MessageBox.Show("图像水印算法导入出错!", "操作提示"); break; } }
/// <summary> /// 双重水印算法调度 /// </summary> private void Switch_algorithm2() { MarkProducer myMark = new MarkProducer(); switch (algorithm2) { case 1: flag = flag && (parameter5 < 1) && (parameter5 > 0) && (parameter6 >= 3.57) && (parameter6 <= 4); if (flag == false) { MessageBox.Show("图像水印参数导入出错!", "操作提示"); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter5, parameter6, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); myPicShow(); } break; case 2: flag = flag && (parameter5 <= 200) && (parameter5 >= 0) && (parameter6 < 1) && (parameter6 > 0) && (parameter7 >= 3.57) && (parameter7 <= 4); if (flag == false) { MessageBox.Show("图像水印参数导入出错!", "操作提示"); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter6, parameter7, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); bufPic = myMark.BitExPicMark((int)parameter5, parameter1, parameter2, (picX - 1) + (picY - 1) + 8, bufPic, 2); myPicShow(); } break; default: MessageBox.Show("图像水印算法导入出错!", "操作提示"); break; } }
/// <summary> /// 双重水印算法调度 /// </summary> private void Switch_algorithm2() { MarkProducer myMark = new MarkProducer(); switch (algorithm2) { case 1: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6); flag = flag && (parameter5 < 1) && (parameter5 > 0) && (parameter6 >= 3.57) && (parameter6 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); } else { picLen = bufPic.Length; picOffset1 = bufPic[2]; picOffset2 = bufPic[3]; MarkProducer login = new MarkProducer(); lblInfo.Content = "正在生成图像水印..."; markLocate2 = login.Logistic(parameter5, parameter6, (picLen - 62) * 8, picDBInfo); myMark.PicMark(picLen, bufPic, markLocate2, TableName, DBType, picDBInfo[2]); lblInfo.Content = "图像水印生成完毕!"; step3Finish = true; } break; case 2: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6) && float.TryParse(txtPara7.Text, out parameter7); flag = flag && (parameter5 <= 200) && (parameter5 >= 0) && (parameter6 < 1) && (parameter6 > 0) && (parameter7 >= 3.57) && (parameter7 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); txtPara7.Clear(); } else { picLen = bufPic.Length; picOffset1 = bufPic[2]; picOffset2 = bufPic[3]; MarkProducer login = new MarkProducer(); lblInfo.Content = "正在生成图像水印..."; markLocate2 = login.Logistic(parameter6, parameter7, (picLen - 62) * 8, picDBInfo); bufPic = login.BitExPicMark((int)parameter5, parameter1, parameter2, (picX - 1) + (picY - 1) + 8, bufPic, 1); myMark.PicMark(picLen, bufPic, markLocate2, TableName, DBType, picDBInfo[2]); lblInfo.Content = "图像水印生成完毕!"; step3Finish = true; } break; default: MessageBox.Show("请您选择第三步算法!", "操作提示"); break; } }
/// <summary> /// 双重水印算法调度 /// </summary> private void Switch_algorithm2() { MarkProducer myMark = new MarkProducer(); switch (algorithm2) { case 1: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6); flag = flag && (parameter5 < 1) && (parameter5 > 0) && (parameter6 >= 3.57) && (parameter6 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); } else { picLen = bufPic.Length; picOffset1 = bufPic[2]; picOffset2 = bufPic[3]; MarkProducer login = new MarkProducer(); lblInfo.Content = "正在生成图像水印..."; markLocate2 = login.Logistic(parameter5, parameter6, (picLen - 62) * 8, picDBInfo); myMark.PicMark(picLen, bufPic, markLocate2, TableName, DBType, picDBInfo[2]); lblInfo.Content = "图像水印生成完毕!"; step3Finish = true; } break; case 2: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6) && float.TryParse(txtPara7.Text, out parameter7) ; flag = flag && (parameter5 <= 200) && (parameter5 >= 0) && (parameter6 < 1) && (parameter6 > 0) && (parameter7 >= 3.57) && (parameter7 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); txtPara7.Clear(); } else { picLen = bufPic.Length; picOffset1 = bufPic[2]; picOffset2 = bufPic[3]; MarkProducer login = new MarkProducer(); lblInfo.Content = "正在生成图像水印..."; markLocate2 = login.Logistic(parameter6, parameter7, (picLen - 62) * 8, picDBInfo); bufPic = login.BitExPicMark((int)parameter5, parameter1, parameter2, (picX - 1) + (picY - 1) + 8, bufPic, 1); picHamming = login.get_Hamming(); myMark.PicMark(picLen, bufPic, markLocate2, TableName, DBType, picDBInfo[2]); lblInfo.Content = "图像水印生成完毕!"; step3Finish = true; } break; default: MessageBox.Show("请您选择第三步算法!", "操作提示"); break; } }
/// <summary> /// 双重水印算法调度 /// </summary> private void Switch_algorithm2() { MarkProducer myMark = new MarkProducer(); switch (algorithm2) { case 1: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6); flag = flag && (parameter5 < 1) && (parameter5 > 0) && (parameter6 >= 3.57) && (parameter6 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter5, parameter6, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); lblInfo.Content = "水印生成完毕!"; myPicShow(); } break; case 2: flag = flag && float.TryParse(txtPara5.Text, out parameter5) && float.TryParse(txtPara6.Text, out parameter6) && float.TryParse(txtPara7.Text, out parameter7) ; flag = flag && (parameter5 <= 200) && (parameter5 >= 0) && (parameter6 < 1) && (parameter6 > 0) && (parameter7 >= 3.57) && (parameter7 <= 4); if (flag == false) { MessageBox.Show("第三步参数设置出错!", "操作提示"); txtPara5.Clear(); txtPara6.Clear(); txtPara7.Clear(); } else { MarkProducer login = new MarkProducer(); markLocate2 = login.Logistic(parameter6, parameter7, (picLen - 62) * 8, picDBInfo); bufPic = myMark.GetPic(picLen, picOffset1, picOffset2, picX, picY, markLocate2, TableName, DBType, picDBInfo[2]); login.set_Hamming(picHarmming); bufPic = myMark.BitExPicMark((int)parameter5,parameter1, parameter2, (picX - 1) + (picY - 1) + 8, bufPic, 2); lblInfo.Content = "水印生成完毕!"; myPicShow(); } break; default: MessageBox.Show("请您选择第三步算法!", "操作提示"); break; } }