Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 4
0
        /// <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;
            }
        }
Ejemplo n.º 5
0
        /// <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;
            }
        }