一種編輯按鈕適配方法及裝置與流程
2023-12-12 13:44:22 1

本申請涉及軟體領域,特別涉及一種編輯按鈕適配方法及裝置。
背景技術:
為了滿足用戶操作的便利化或個性化,在圖形或文檔編輯界面,允許用戶對顯示對象進行一些編輯動作(如刪除、旋轉或縮放)。其中,為方便用戶對顯示對象進行編輯動作,常在顯示對象上設置編輯按鈕,用戶通過編輯按鈕對顯示對象進行不同的操作。
但是,當用戶在編輯顯示對象過程中,顯示對象因為被移動、放大或被旋轉而全部或部分處於顯示區之外時,編輯按鈕也會隨之被移出到顯示區外,導致編輯按鈕無法被使用。
技術實現要素:
為解決上述技術問題,本申請實施例提供一種編輯按鈕適配方法及裝置,以達到將顯示對象的編輯按鈕自適應到顯示區內,保證顯示對象的編輯按鈕處於顯示區內,並能夠被用戶正常使用,從而避免編輯按鈕無法被使用的情況發生的目的,技術方案如下:
一種編輯按鈕適配方法,包括:
展示顯示區,所述顯示區顯示有至少一個顯示對象;
接收所述顯示對象的編輯操作請求,並響應所述編輯操作請求,對所述顯示對象進行編輯;
檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界;
若檢測結果為所述編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
一種編輯按鈕適配裝置,包括:
展示模塊,用於展示顯示區,所述顯示區顯示有至少一個顯示對象;
編輯模塊,用於接收所述顯示對象的編輯操作請求,並響應所述編輯操作請求,對所述顯示對象進行編輯;
檢測模塊,用於檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界,若檢測結果為所述編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則執行繪製模塊在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
與現有技術相比,本申請的有益效果為:
在本申請中,通過展示顯示區,所述顯示區顯示有至少一個顯示對象;接收所述顯示對象的編輯操作請求,並響應所述編輯操作請求,對所述顯示對象進行編輯;檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界;若檢測結果為所述編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕,將顯示對象的編輯按鈕自適應到顯示區內,保證顯示對象的編輯按鈕處於顯示區內,並能夠被用戶正常使用,從而避免編輯按鈕無法被使用的情況發生。
附圖說明
為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本申請提供的編輯按鈕適配方法的一種流程圖;
圖2(a)是編輯前的顯示對象對應的顯示區的一種示意圖,圖2(b)是編輯後的顯示對象對應的顯示區的一種示意圖;
圖3是本申請提供的編輯按鈕適配方法的一種子流程圖;
圖4是本申請提供的旋轉坐標系的角度關係示意圖;
圖5是本申請提供的編輯按鈕適配方法的另一種子流程圖;
圖6是本申請提供的編輯按鈕適配方法的另一種流程圖;
圖7是本申請提供的貼紙編輯界面的一種示意圖;
圖8(a)是選擇界面的一種示意圖,圖8(b)是貼紙編輯界面的一種示意圖,圖8(c)是發布界面的一種示意圖;
圖9(a)是編輯區的一種示意圖,圖9(b)是對貼紙進行編輯的一種操作示意圖;
圖10是本申請提供的編輯區所在坐標系的一種示意圖;
圖11(a)是貼紙在編輯區的顯示範圍在編輯區的坐標系下的一種坐標示意圖,圖11(b)是編輯按鈕與貼紙在編輯區的顯示範圍的位置關係示意圖;
圖12(a)是貼紙的編輯按鈕的左上頂點的坐標(xlt,ylt)對應的實數點的一種範圍示意圖,圖12(b)是貼紙的編輯按鈕的左上頂點的坐標(xlt,ylt)對應的實數點的另一種範圍示意圖;
圖13是本申請提供的編輯按鈕適配裝置的一種邏輯結構示意圖;
圖14是本申請提供的編輯按鈕適配設備的硬體結構框圖。
具體實施方式
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
實施例一
請參見圖1,其示出了本申請提供的編輯按鈕適配方法的一種流程圖,可以包括以下步驟:
步驟S101:展示顯示區,所述顯示區顯示有至少一個顯示對象。
步驟S102:接收所述顯示對象的編輯操作請求,並響應所述編輯操作請求,對所述顯示對象進行編輯。
步驟S103:檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界。
若檢測結果為編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則執行步驟S104。
步驟S104:在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
在本申請中,通過展示顯示區,所述顯示區顯示有至少一個顯示對象;接收所述顯示對象的編輯操作請求,並響應所述編輯操作請求,對所述顯示對象進行編輯;檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界;若檢測結果為所述編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕,將顯示對象的編輯按鈕自適應到顯示區內,保證顯示對象的編輯按鈕處於顯示區內,並能夠被用戶正常使用,從而避免編輯按鈕無法被使用的情況發生。
現舉例對執行步驟S101至步驟S104之後,顯示對象的編輯按鈕自適應至顯示區內的過程進行說明,如圖2(a)所示,顯示區的原始狀態為:顯示區顯示有一個顯示對象即包含文字「機智如我」的圖片,且包含文字「機智如我」的圖片的其中一個編輯按鈕為左上角的刪除按鈕。在接收顯示對象的向左平移的操作請求後,響應向左平移的操作請求,對顯示對象即包含文字「機智如我」的圖片進行向左平移的編輯動作,在完成向左平移的編輯動作後,確定編輯後的顯示對象在顯示區內的顯示範圍,檢測向左平移後的顯示對象左上角的刪除按鈕是否超出顯示區的邊界,若檢測結果為向左平移後的顯示對象左上角的刪除按鈕超出顯示區的邊界,如圖2(b)所示,則在向左平移後的顯示對象在顯示區內的顯示範圍內,重新繪製顯示對象的刪除按鈕。
在本實施例中,檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界的過程請參見圖3,可以包括以下步驟:
步驟S1031:獲取編輯後的顯示對象的編輯按鈕的當前坐標。
在本實施例中,獲取編輯後的顯示對象的編輯按鈕的當前坐標具體可以但不局限於為以下過程:
獲取編輯前的顯示對象的編輯按鈕的原始坐標;
檢測顯示對象在編輯前、後的平移距離;
根據編輯前的顯示對象的編輯按鈕的原始坐標和顯示對象在編輯前、後的平移距離,獲取編輯後的顯示對象的編輯按鈕的當前坐標。
其中,在編輯操作請求為移動操作請求時,直接在顯示區的坐標系下獲取編輯後的顯示對象的編輯按鈕的當前坐標即可。
當然,在編輯操作請求為旋轉操作請求時,響應旋轉操作請求,會對顯示對象進行旋轉操作。由於對顯示對象進行旋轉操作是通過旋轉顯示對象坐標系實現的,因此顯示對象被旋轉後,顯示對象的坐標系旋轉後,與編輯區的坐標系不在同一個坐標系,這種情況下,不能直接獲取編輯後的顯示對象的編輯按鈕的當前坐標,而是首先需要保證編輯後的顯示對象的編輯按鈕的當前坐標的坐標系與編輯區的坐標系相同,對應的獲取編輯後的顯示對象的編輯按鈕的當前坐標的具體過程如下:
確定所述編輯後的顯示對象的坐標系;
獲取所述編輯後的顯示對象的編輯按鈕在所確定的坐標系下的坐標;
將所獲取的坐標轉換為在所述顯示區的坐標系下的坐標,得到所述編輯後的顯示對象的編輯按鈕的當前坐標。
其中,將所獲取的坐標轉換為在所述顯示區的坐標系下的坐標具體可以利用通過矩陣類Matrix的mapRect方法進行坐標的轉換。
當然,也可以利用直角坐標系旋轉公式將所獲取的坐標轉換為在所述顯示區的坐標系下的坐標。具體的,直角坐標系旋轉公式為:x'=x*cos(n)+y*sin(n)、y'=-x*sin(n)+y*cos(n),n是旋轉的角度,即將原坐標系旋轉角度n後,形成新的坐標系,x'和y'為新的坐標系下點的坐標,x和y為該點在原來坐標系下的坐標。在本實施例中,原坐標系即編輯後的顯示對象的坐標系,新的坐標系即所述顯示區的坐標系。其中,原坐標系和新的坐標系及兩者之間的角度關係可以參見圖4。
步驟S1032:判斷所述編輯後的顯示對象的編輯按鈕的當前坐標,是否在預設坐標取值區間內。
在本實施例中,編輯後的顯示對象的編輯按鈕若要完整的顯示在顯示區內,可以通過限定編輯後的顯示對象的編輯按鈕的坐標的範圍來實現,具體實現過程為:針對編輯後的顯示對象的編輯按鈕的坐標,設定一個保證編輯後的顯示對象的編輯按鈕能夠完整的顯示在顯示區內的坐標取值區間即預設坐標取值區間。只要編輯後的顯示對象的編輯按鈕的當前坐標在預設坐標取值區間內,則說明編輯後的顯示對象的編輯按鈕未超出顯示區的邊界;若編輯後的顯示對象的編輯按鈕的當前坐標不在預設坐標取值區間內,則說明編輯後的顯示對象的編輯按鈕超出了顯示區的邊界。
在本實施例中,由於顯示對象和顯示區均為平面對象,因此編輯後的顯示對象的編輯按鈕的當前坐標為平面坐標,因此判斷編輯後的顯示對象的編輯按鈕的當前坐標,是否在預設坐標取值區間內具體則為:判斷所述編輯後的顯示對象的編輯按鈕的當前坐標中的橫坐標值是否在預設橫坐標取值區間內,且所述編輯後的顯示對象的編輯按鈕的當前坐標中的縱坐標值是否在預設縱坐標取值區間內。
但是,在本實施例中,並不限制顯示對象和顯示區僅為平面對象,在技術支持的情況下,顯示對象和顯示區可以其他類型的對象(如三維對象)。
在判斷所述編輯後的顯示對象的編輯按鈕的當前坐標,是否在預設坐標取值區間內具體為:判斷所述編輯後的顯示對象的編輯按鈕的當前坐標中的橫坐標值是否在預設橫坐標取值區間內,且所述編輯後的顯示對象的編輯按鈕的當前坐標中的縱坐標值是否在預設縱坐標取值區間內時,若檢測結果為所述編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕具體可以包括:
若所述編輯後的顯示對象的編輯按鈕的當前坐標中的橫坐標值未在預設橫坐標取值區間內;
和/或,所述編輯後的顯示對象的編輯按鈕的當前坐標中的縱坐標值未在預設縱坐標取值區間內,則在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
其中,若所述編輯後的顯示對象的編輯按鈕的當前坐標中的橫坐標值未在預設橫坐標取值區間內;和/或,所述編輯後的顯示對象的編輯按鈕的當前坐標中的縱坐標值未在預設縱坐標取值區間內,說明編輯後的顯示對象的編輯按鈕的當前坐標中的橫坐標值和縱坐標值中的任意一個坐標值未在其對應的坐標取值區間內,則說明編輯後的顯示對象的編輯按鈕超出了顯示區的邊界,則需要在編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
在上述方法步驟中,在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕的過程具體可以參見圖5,可以包括以下步驟:
步驟S501:在所述編輯後的顯示對象在所述顯示區內的顯示範圍內選定一點作為所述顯示對象的編輯按鈕的中心坐標。
步驟S502:以所述顯示對象的編輯按鈕的中心坐標為基準,繪製與所述顯示對象的編輯按鈕匹配的按鈕圖形。
步驟S503:將所繪製的按鈕圖形,與所述顯示對象的編輯按鈕所對應的功能函數相關聯。
在本實施例中,通過執行步驟S501至步驟S503,完成對顯示對象的編輯按鈕的重新繪製,保證重新繪製的顯示對象的編輯按鈕的形狀和實現功能與被移出顯示區的編輯按鈕的形狀和實現功能相同。
實施例二
在本實施例中,上述顯示對象具體可以為文檔頁面(如word頁面或txt頁面),相應的,上述顯示區為文檔頁面所在的顯示桌面。文檔頁面的編輯按鈕(如最小化按鈕、最大化/還原按鈕、關閉按鈕)在被移出顯示桌面時,可以通過執行上述方法步驟,在不拖動文檔頁面的前提下,實現文檔頁面的編輯按鈕自適應到文檔頁面在顯示桌面的顯示範圍內。
當然,上述顯示對象具體可以但不局限於為貼紙。相應的,上述顯示區為貼紙編輯界面的編輯區。如圖6所示,其示出了貼紙的編輯按鈕適配方法的一種流程圖,可以包括以下步驟:
步驟S601:展示貼紙編輯界面的編輯區,所述編輯區顯示有至少一個貼紙。
步驟S602:接收所述貼紙的編輯操作請求,並響應所述編輯操作請求,對所述貼紙進行編輯。
步驟S603:檢測編輯後的貼紙的編輯按鈕是否超出所述編輯區的邊界。
若檢測結果為所述編輯後的貼紙的編輯按鈕超出所述編輯區的邊界,則執行步驟S604。
步驟S604:在所述編輯後的貼紙在所述編輯區內的顯示範圍內,重新繪製所述貼紙的編輯按鈕。
由於貼紙是對實施例一中的顯示對象的一種具體限定,因此實施例一中的步驟S101至步驟S104的具體實現過程同樣適用於貼紙,即步驟S601至步驟S604的具體實現過程與實施例一中圖1示出的步驟S101至步驟S104的具體實現過程相同,在此不再贅述。
在本實施例中,貼紙具體可以為:表情圖片、氣泡(即一種用來表示人物對話的可輸入文字的特殊貼紙)或字體(即系統提供不同的字體供用戶選擇來輸入文字,屬於一種特殊類型的貼紙)。
在貼紙編輯界面上可以對貼紙和主圖(即用戶預要發布的原圖,作為背景圖)進行合成,實現用戶發圖的個性化要求。其中,貼紙編輯界面可以參見圖7,如圖7所示,貼紙編輯界面包括:其他操作區:可點擊切換編輯區或者增加一張圖片;貼紙編輯區域(即編輯區):即為添加主圖及用戶編輯貼紙的區域。編輯界面為每張主圖生成一個編輯區,可左右滑動或點擊操作區的縮略圖切換不同編輯區;貼圖(即貼紙)選擇區域:裝載不同類型的貼紙、氣泡或字體,用戶可點擊添加到編輯區域;貼圖類型。
在貼紙編輯界面上對貼紙和主圖進行合成的過程如下:用戶從選擇界面(如圖8(a))的相冊中選擇一張或者多張圖片進入編輯界面(如圖8(b)),在編輯界面中可點擊表情圖片、氣泡或者字體添加到主圖中進行編輯,同時也可以點擊標題欄上的「加號」按鈕添加更多主圖,編輯完成時,點繼續按鈕開始合成圖片,合成後的圖片可以通過發布界面(如圖8(c))進行發布。
其中,在編輯區對貼紙進行編輯的操作具體可以為:移動、放大縮小、旋轉。在編輯區對貼紙進行編輯的過程具體可以為:貼紙在編輯區的顯示範圍(如圖9(a)所示的黑色矩形區域的左上頂點)上有「刪除」按鈕,單擊該按鈕可將貼紙刪除;貼紙在編輯區的顯示範圍的右下頂點有「變形」按鈕,用戶單指按住該按鈕時做順時針或逆時針旋轉可將貼紙按同方向旋轉;用戶單指按鈕「變形」按鈕時向貼紙中心內移動可將貼紙按移動距離比例縮小;用戶單指按住「變形」按鈕時沿貼紙中心向外移動可將貼紙按移動距離比例放大;用戶單指按住貼紙在編輯區的顯示範圍內的貼紙並移動手指時,貼紙將跟隨手指移動位置移動;雙指按在貼紙內並同時向內移動手指可將貼紙按移動比例縮小;雙指按在貼紙內並同時向外移動手指可將貼紙按移動比例放大。雙指操作貼紙縮小或放大的操作示意圖請參見圖9(b)。
通過執行上述方法步驟,無論對貼紙進行何種編輯,均可以使貼紙的編輯按鈕能夠自適應到貼紙編輯界面的編輯區。
其中,在顯示對象包括:貼紙;所述顯示區為所述貼紙編輯界面的編輯區時,上述預設橫坐標取值區間為[0,W-w1],所述預設縱坐標取值區間為[0,H-w1],所述W為所述編輯區的寬度值,所述H為所述編輯區的高度值,所述w1為所述貼紙的編輯按鈕在所述編輯區內的顯示範圍的邊長,所述w1大於0且小於W且小於H,且所述貼紙的編輯按鈕在所述編輯區內的顯示範圍為正方形區域,所述編輯區為矩形區域,其中,矩形區域具體可以為長方形或正方形。
相應的,編輯後的顯示對象的編輯按鈕的當前坐標限定為編輯後的貼紙的編輯按鈕在所述編輯區內的顯示範圍的左上頂點的當前坐標。
在上述預設橫坐標取值區間為[0,W-w1],所述預設縱坐標取值區間為[0,H-w1]時,上述檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界具體則為:判斷編輯後的貼紙的編輯按鈕在所述編輯區內的顯示範圍的左上頂點的當前坐標中的橫坐標值是否在[0,W-w1]內,且編輯後的貼紙的編輯按鈕在所述編輯區內的顯示範圍的左上頂點的當前坐標中的縱坐標值是否在[0,H-w1]內。
若編輯後的貼紙的編輯按鈕在所述編輯區內的顯示範圍的左上頂點的當前坐標中的橫坐標值未在[0,W-w1]內,和/或,編輯後的貼紙的編輯按鈕在所述編輯區內的顯示範圍的左上頂點的當前坐標中的縱坐標值未在[0,H-w1]內,說明編輯後的貼紙的編輯按鈕超出了編輯區的邊界,則在編輯後的貼紙在編輯區內的顯示範圍內,重新繪製貼紙的編輯按鈕。
在本實施例中,貼紙的編輯按鈕具體為刪除按鈕和/或旋轉按鈕和/或縮放按鈕。刪除按鈕、旋轉按鈕和縮放按鈕分別設置在貼紙在編輯區內的顯示範圍的不同位置但需要保證各個按鈕之間不重疊,具體可以設置在貼紙在編輯區內的顯示範圍的不同頂點或不同邊上或相同邊上的不同位置。其中,旋轉按鈕和縮放按鈕可以集成為一個按鈕,同時具備旋轉和縮放兩種功能。
在本實施例中,預設橫坐標取值區間為[0,W-w1],所述預設縱坐標取值區間為[0,H-w1],及編輯後的顯示對象的編輯按鈕的當前坐標限定為編輯後的貼紙的編輯按鈕在所述編輯區內的顯示範圍的左上頂點的當前坐標的設置原理如下:
(1)以編輯區所在坐標係為正坐標系,記編輯區的寬度值為W,高度值為H,編輯區為矩形區域,以所述編輯區的左上頂點為原點,以所述原點為基準向右方向為x軸正方向,以所述原點為基準向下方向為y軸正方向,如圖10所示,編輯區的四個頂點的坐標分別為:(0,0)、(W,0)、(0,H)、(W,H)。
(2)對貼紙的某一個編輯按鈕的坐標的獲取:
若貼紙包括多個編輯按鈕,但貼紙的各個編輯按鈕的坐標的獲取過程相同,因此僅對貼紙的某一個編輯按鈕的坐標的獲取過程進行說明,在本實施例中,以貼紙的左上頂點(即貼紙在編輯區內的顯示範圍內的左上頂點)的編輯按鈕為例,如圖11(a)所示,黑色圓點1和黑色圓點2均為編輯按鈕,黑色圓點1為貼紙的左上頂點的編輯按鈕,黑色圓點1所在的矩形區域為貼紙在編輯區內的顯示範圍,貼紙在編輯區內的顯示範圍的四個頂點的坐標分別記為(x1,y),(x2,y),(x1,y0),(x2,y0)。
如圖11(b)所示,黑色圓點1實為黑色虛線矩形(即貼紙的編輯按鈕在編輯區的顯示範圍)的內切圓,黑色虛線矩形以貼紙在編輯區的顯示範圍的相應頂點為中心進行繪製。記黑色虛線矩形為寬高皆為w1的正方形,則:貼紙的左上頂點的編輯按鈕(即貼紙在編輯區的顯示範圍的左上頂點處的編輯按鈕)的坐標即貼紙在編輯區的顯示範圍的左上頂點的黑色虛線矩形的四個頂點坐標的計算方法為:左上按鈕黑色虛線矩形的四點坐標計算方法為:
根據貼紙在編輯區的顯示範圍的左上頂點坐標(x1,y)及黑色虛線矩形邊距w1,確定左上按鈕黑色虛線矩形的左上頂點坐標(xlt,ylt),再根據邊距w1確定左上按鈕黑色虛線矩形的其他三點坐標,具體如下:
左上頂點坐標計算公式:xlt=x1-w1/2,ylt=y-w1/2
右上頂點坐標計算公式:(xlt+w1,ylt)
左下頂點坐標計算公式:(xlt,ylt+w1)
右下頂點坐標計算公式:(xlt+w1,ylt+w1)
(3)根據編輯區的大小和貼紙在編輯區的顯示範圍與編輯區的大小關係,確定貼紙在編輯區的顯示範圍的最小坐標為(0,0),最大坐標為(W,H)。根據貼紙在編輯區的顯示範圍的最小坐標為(0,0),最大坐標為(W,H),及左上頂點坐標計算公式:xlt=x1-w1/2,ylt=y-w1/2,計算xlt的最大取值區間為[-w1/2,W-w1/2];ylt的最大取值區間為[-w1/2,H-w1/2]。在xlt的最大取值區間為[-w1/2,W-w1/2];ylt的最大取值區間為[-w1/2,H-w1/2]時,貼紙的編輯按鈕的左上頂點的坐標(xlt,ylt)對應的實數點的範圍為圖12(a)所示的黑色虛線矩形。
如圖12(a)所示,依據所述xltxlt的最大取值區間為[-w1/2,W-w1/2]以及所述yltylt的最大取值區間為[-w1/2,H-w1/2],確定當貼紙的編輯按鈕的左上頂點的坐標(xlt,ylt)出現在-w1/2<=xlt<0及W-w1<xlt<=W-w1/2;或者-w1/2<=ylt<0及H-w1<ylt<=H-w1/2時,貼紙的左上頂點的按鈕將會部分處於編輯區外。為確保貼紙的左上頂點的按鈕全部繪製在編輯區內,則貼紙的編輯按鈕的左上頂點的坐標(xlt,ylt)對應的實數點應當全部包含在圖12(b)所示的黑色虛線矩形內。
如圖12(b)所示的黑線虛線矩形,將xlt的取值區間限定為[0,W-w1],ylt的取值區間限定為[0,H-w1],即在所述xlt的最大取值區間[-w1/2,W-w1/2]中,排除所述xlt在所述待繪製編輯按鈕處於所述編輯區外時對應的取值區間-w1/2<=xlt<0及W-w1<xlt<=W-w1/2,得到所述預設橫坐標取值區間為[0,W-w1];在所述ylt的最大取值區間[-w1/2,H-w1/2]中,排除所述ylt在所述待繪製編輯按鈕處於所述編輯區外時對應的取值區間-w1/2<=ylt<0及H-w1<ylt<=H-w1/2,得到所述預設縱坐標取值區間為[0,H-w1]。
同理可得貼紙的其他編輯按鈕的左上頂點的坐標的取值區間也限定為[0,W-w1]和[0,H-w1]。
在本實施例中,在對貼紙進行編輯的過程中,為保證貼紙不被全部移出編輯區且仍能通過編輯按鈕進行相應操作,還可以執行以下操作:
在檢測到所述貼紙在所述編輯區的顯示範圍的邊距為所述貼紙的編輯按鈕在所述顯示區內的顯示範圍的邊長(即w1)時,控制所述貼紙處於固定狀態;
或,在檢測到所述貼紙在所述編輯區的顯示範圍的邊距為2倍的所述貼紙的編輯按鈕在所述顯示區內的顯示範圍的邊長(即2w1)時,控制所述貼紙處於固定狀態。
其中,在檢測到所述貼紙在所述編輯區的顯示範圍的邊距為所述貼紙的編輯按鈕在所述顯示區內的顯示範圍的邊長(即w1)時,控制貼紙處於固定狀態,貼紙無法再移動,即將貼紙在編輯區的顯示範圍的最小邊距設定為w1,當貼紙在編輯區的顯示範圍的邊距到達w1時,貼紙將不能再被移動。將貼紙在編輯區的顯示範圍的最小邊距設定為w1,允許貼紙上最多包括兩個編輯按鈕(如左上頂點的編輯按鈕和右下頂點的編輯按鈕)。不過在將貼紙在編輯區的顯示範圍的最小邊距設定為w1時,在產品體驗上存在一些問題如當貼紙在編輯區的顯示範圍的面積大小為w1*w1時,貼紙在編輯區的顯示範圍基本被編輯按鈕佔據,手指很難觸摸到非編輯按鈕的區域,即很難通過手指按到貼紙在編輯區的顯示範圍上移動貼紙。以及,在某一個編輯按鈕超出編輯區的編輯後,將編輯按鈕自適應到編輯區時有可能出現編輯按鈕重疊。
為了解決上述產品體驗問題及方便產品的擴展,對貼紙在編輯區的顯示範圍的最小邊距w1進行改進,具體改進方式為:將貼紙在編輯區的顯示範圍的最小邊距設定為2w1。
在將貼紙在編輯區的顯示範圍的最小邊距設定為2w1時,可以當貼紙的四個頂點均有編輯按鈕時,讓能保證貼紙在編輯區的顯示範圍的每個邊上都能顯示2個編輯按鈕,且任意兩個編輯按鈕之間不會重疊。由於任意兩個編輯按鈕之間不會重疊即各個編輯按鈕相互獨立,方便用戶觸摸非編輯按鈕的區域,減少編輯按鈕誤觸。
實施例三
與上述方法實施例相對應,本實施例提供了一種編輯按鈕適配裝置,請參見圖13,編輯按鈕適配裝置包括:展示模塊131、編輯模塊132、檢測模塊133和繪製模塊134。
展示模塊131,用於展示顯示區,所述顯示區顯示有至少一個顯示對象。
編輯模塊132,用於接收所述顯示對象的編輯操作請求,並響應所述編輯操作請求,對所述顯示對象進行編輯。
檢測模塊133,用於檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界,若檢測結果為所述編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則執行繪製模塊134在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
在本實施例中,檢測模塊133具體可以包括:獲取單元和判斷單元。
獲取單元,用於獲取所述編輯後的顯示對象的編輯按鈕的當前坐標。
在所述編輯操作請求為旋轉操作請求時,所述獲取單元可以包括:確定子單元、獲取子單元和轉換子單元。
確定子單元,用於確定所述編輯後的顯示對象的坐標系。
獲取子單元,用於獲取所述編輯後的顯示對象的編輯按鈕在所確定的坐標系下的坐標。
轉換子單元,用於將所獲取的坐標轉換為在所述顯示區的坐標系下的坐標,得到所述編輯後的顯示對象的編輯按鈕的當前坐標。
判斷單元,用於判斷所述編輯後的顯示對象的編輯按鈕的當前坐標,是否在預設坐標取值區間內。
其中,判斷單元具體可以包括:判斷子單元,用於判斷所述編輯後的顯示對象的編輯按鈕的當前坐標中的橫坐標值是否在預設橫坐標取值區間內,且所述編輯後的顯示對象的編輯按鈕的當前坐標中的縱坐標值是否在預設縱坐標取值區間內。
在上述編輯按鈕適配裝置中,繪製模塊134具體可以包括:第一繪製單元,用於若所述編輯後的顯示對象的編輯按鈕的當前坐標中的橫坐標值未在預設橫坐標取值區間內,和/或,所述編輯後的顯示對象的編輯按鈕的當前坐標中的縱坐標值未在預設縱坐標取值區間內,則在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
在上述編輯按鈕適配裝置中,繪製模塊134具體可以包括:選定單元、第二繪製單元和關聯單元。
選定單元,用於在所述編輯後的顯示對象在所述顯示區內的顯示範圍內選定一點作為所述顯示對象的編輯按鈕的中心坐標。
第二繪製單元,用於以所述顯示對象的編輯按鈕的中心坐標為基準,繪製與所述顯示對象的編輯按鈕匹配的按鈕圖形。
關聯單元,用於將所繪製的按鈕圖形,與所述顯示對象的編輯按鈕所對應的功能函數相關聯。
需要說明的是,選定單元、第二繪製單元和關聯單元可以包括在上述第一繪製單元中,用於實現在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕的功能。
在上述編輯按鈕適配裝置中,所述顯示對象包括:貼紙;所述顯示區為貼紙編輯界面的編輯區。
與顯示對象包括:貼紙;所述顯示區為貼紙編輯界面的編輯區相對應,所述預設橫坐標取值區間為[0,W-w1],所述預設縱坐標取值區間為[0,H-w1],所述W為所述編輯區的寬度值,所述H為所述編輯區的高度值,所述w1為所述貼紙的編輯按鈕在所述編輯區內的顯示範圍的邊長,所述w1大於0且小於W且小於H,且所述貼紙的編輯按鈕在所述編輯區內的顯示範圍為正方形區域,所述編輯區為矩形區域;
所述編輯後的顯示對象的編輯按鈕的當前坐標為所述編輯後的貼紙的編輯按鈕在所述編輯區內的顯示範圍的左上頂點的當前坐標。
在本實施例中,上述編輯按鈕適配裝置還包括:第一控制模塊或第二控制模塊。
第一控制模塊,用於在檢測到所述貼紙在所述編輯區的顯示範圍的邊距為所述貼紙的編輯按鈕在所述顯示區內的顯示範圍的邊長時,控制所述貼紙處於固定狀態。
第二控制模塊,用於在檢測到所述貼紙在所述編輯區的顯示範圍的邊距為2倍的所述貼紙的編輯按鈕在所述顯示區內的顯示範圍的邊長時,控制所述貼紙處於固定狀態。
本發明實施例還提供了一種編輯按鈕適配設備,該編輯按鈕適配設備可以包括上述編輯按鈕適配裝置,請參見圖14,其示出了編輯按鈕適配設備的硬體結構,編輯按鈕適配設備可以包括:處理器1,通信接口2,存儲器3和通信總線4;
其中處理器1、通信接口2、存儲器3通過通信總線4完成相互間的通信;
可選的,通信接口2可以為通信模塊的接口,如GSM模塊的接口;
處理器1,用於執行程序;
存儲器3,用於存放程序;
程序可以包括程序代碼,所述程序代碼包括計算機操作指令;
處理器1可能是一個中央處理器CPU,或者是特定集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發明實施例的一個或多個集成電路。
存儲器3可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁碟存儲器。
其中,程序可具體用於:展示顯示區,所述顯示區顯示有至少一個顯示對象;接收所述顯示對象的編輯操作請求,並響應所述編輯操作請求,對所述顯示對象進行編輯;檢測編輯後的顯示對象的編輯按鈕是否超出所述顯示區的邊界;若檢測結果為所述編輯後的顯示對象的編輯按鈕超出所述顯示區的邊界,則在所述編輯後的顯示對象在所述顯示區內的顯示範圍內,重新繪製所述顯示對象的編輯按鈕。
需要說明的是,本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對於裝置類實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上對本申請所提供的一種編輯按鈕適配方法及裝置進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。