public C_按鈕選單_搜圖(MainWindow m)
        {
            this.M = m;


            u_menu_搜圖 = new U_menu(m);



            M.but_搜圖.Click += (sender, e) => {
                u_menu_搜圖.func_open(M.but_搜圖);
            };

            u_menu_搜圖.func_add_menu("sauceNAO 搜圖", new BitmapImage(new Uri("/imgs/gs_sauceNAO.bmp", UriKind.Relative)), () => {
                fun_執行搜圖("saucenao");
            });
            u_menu_搜圖.func_add_menu("Yandex 搜圖", new BitmapImage(new Uri("/imgs/gs_yandex.png", UriKind.Relative)), () => {
                fun_執行搜圖("yandex");
            });
            u_menu_搜圖.func_add_menu("Google 搜圖", new BitmapImage(new Uri("/imgs/gs_google.png", UriKind.Relative)), () => {
                fun_執行搜圖("google");
            });
            u_menu_搜圖.func_add_menu("Ascii2d 搜圖", new BitmapImage(new Uri("/imgs/gs_ascii2d.bmp", UriKind.Relative)), () => {
                fun_執行搜圖("ascii2d");
            });
            u_menu_搜圖.func_add_menu("bing 搜圖", new BitmapImage(new Uri("/imgs/gs_bing.png", UriKind.Relative)), () => {
                fun_執行搜圖("bing");
            });
            u_menu_搜圖.func_add_menu("IQDB 搜圖", new BitmapImage(new Uri("/imgs/gs_IQDB.png", UriKind.Relative)), () => {
                fun_執行搜圖("iqdb");
            });
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="m"></param>
        public C_按鈕選單_複製(MainWindow m)
        {
            this.M    = m;
            u_menu_複製 = new U_menu(m);

            m.but_複製.Click += (sender, e) => {
                func_隱藏不必要的選項();
                u_menu_複製.func_open(M.but_複製);
            };


            event_複製的選單();
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="m"></param>
        public C_旋轉(MainWindow m)
        {
            this.M    = m;
            u_menu_旋轉 = new U_menu(m);

            M.but_旋轉.Click += (sender, e) => {
                u_menu_旋轉.func_open(M.but_旋轉);
            };

            u_menu_旋轉.func_add_menu_icon("順時針 90°", "icon_順時針90", () => {
                func_旋轉_順時針_90();
            });
            u_menu_旋轉.func_add_menu_icon("逆時針 90°", "icon_逆時針90", () => {
                func_旋轉_逆時針_90();
            });

            u_menu_旋轉.func_add_水平線();

            u_menu_旋轉.func_add_menu_icon("水平鏡像", "icon_水平翻轉", () => {
                func_旋轉_水平();
            });
            u_menu_旋轉.func_add_menu_icon("垂直鏡像", "icon_垂直翻轉", () => {
                func_旋轉_垂直();
            });

            u_menu_旋轉.func_add_水平線();

            u_menu_旋轉.func_add_menu_icon("初始化旋轉", "icon_初始化旋轉", () => {
                if (int_旋轉 == 270)
                {
                    int_旋轉 = -90;
                }

                if (int_旋轉 == 360)
                {
                    int_旋轉 = 0;
                }

                fun_旋轉動畫(
                    M.grid_img, int_旋轉, 0,
                    bool_水平鏡像, false,
                    bool_垂直鏡像, false
                    );

                int_旋轉    = 0;
                bool_水平鏡像 = false;
                bool_垂直鏡像 = false;

                // fun_初始化旋轉(0);
            });
        }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        private void event_其他程式啟動_選單(List <data_開啟程式> ar)
        {
            M.but_用外部程式開啟.Click += (sender, e) => {
                u_menu_用外部程式開啟.func_open(M.but_用外部程式開啟);
            };



            u_menu_用外部程式開啟.func_add_menu("檔案右鍵選單", null, () => {
                fun_顯示原生右鍵選單(false);
            });

            u_menu_用外部程式開啟.func_add_menu("開啟檔案位置", null, () => {
                M.fun_用檔案總管開啟目前圖片();
            });

            u_menu_用外部程式開啟.func_add_menu("列印", null, () => {
                try {
                    var pr = new System.Diagnostics.Process();
                    pr.StartInfo.FileName       = M.ar_path[M.int_目前圖片位置];//文件全稱-包括文件後綴
                    pr.StartInfo.CreateNoWindow = true;
                    pr.StartInfo.WindowStyle    = System.Diagnostics.ProcessWindowStyle.Hidden;
                    pr.StartInfo.Verb           = "Print";
                    pr.Start();
                } catch (Exception e2) {
                    MessageBox.Show("找不到對應開啟的程式:\n" + e2.ToString(), "列印失敗");
                }
            });

            u_menu_用外部程式開啟.func_add_menu("設成桌布", null, () => {
                if (File.Exists(M.ar_path[M.int_目前圖片位置]))   //判別檔案是否存在於對應的路徑
                {
                    try {
                        SystemParametersInfo(20, 1, M.ar_path[M.int_目前圖片位置], 0x1 | 0x2);  //存在成立,修改桌布  (uActuin 20 參數為修改wallpaper
                    } catch (Exception e2) {
                        MessageBox.Show("設定桌布失敗:\n" + e2.ToString(), "失敗");
                    }
                }
            });

            u_menu_用外部程式開啟.func_add_menu("選擇其他程式", null, () => {
                if (File.Exists(M.ar_path[M.int_目前圖片位置]))   //判別檔案是否存在於對應的路徑
                {
                    try {
                        String _path = M.ar_path[M.int_目前圖片位置];
                        Process.Start(new ProcessStartInfo("rundll32.exe")
                        {
                            Arguments        = $"shell32.dll,OpenAs_RunDLL {_path}",
                            WorkingDirectory = Path.GetDirectoryName(_path)
                        });
                    } catch (Exception e2) {
                        MessageBox.Show(e2.ToString(), "Error");
                    }
                }
            });



            u_menu_用外部程式開啟.func_add_水平線();



            //使用者自定的名單
            for (int i = 0; i < ar.Count; i++)
            {
                int          xx  = i;
                BitmapSource img = null;
                try {
                    img = M.c_影像.BitmapToBitmapSource(ar[i].img);
                } catch { }

                u_menu_用外部程式開啟.func_add_menu(ar[i].name, img, () => {
                    try {
                        System.Diagnostics.Process.Start(ar[xx].path, "\"" + M.ar_path[M.int_目前圖片位置] + "\"");
                    } catch (Exception e2) {
                        MessageBox.Show(e2.ToString());
                    }
                });
            }//for
        }