專(zhuān)利名稱(chēng):一種用于即時(shí)通信工具的圖片處理的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種用于即時(shí)通信工具的圖片處理的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,即時(shí)通信工具得到廣泛應(yīng)用。用戶(hù)常常利用即時(shí)通 信工具發(fā)送大量的圖片,其中,對(duì)于有些圖片,用戶(hù)需要先對(duì)這些圖片進(jìn)行處理,然后再發(fā) 送出去ο現(xiàn)有的即時(shí)通信工具帶有編輯功能,用戶(hù)可以利用該編輯功能對(duì)圖片進(jìn)行處理, 其中,在圖片中畫(huà)線條是對(duì)圖片進(jìn)行處理的方式之一?,F(xiàn)有的編輯功能在圖片中進(jìn)行畫(huà)線 條的方法為當(dāng)鼠標(biāo)左鍵按下之時(shí),編輯功能獲取光標(biāo)所在的位置并將該位置作為初始位 置,鼠標(biāo)按下后,用戶(hù)可以移動(dòng)鼠標(biāo),光標(biāo)也隨之移動(dòng),編輯功能畫(huà)出當(dāng)前光標(biāo)所在的位置 與初始位置之間的直線。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題現(xiàn)有的編輯功能只能畫(huà)出初始位置與當(dāng)前光標(biāo)所在的位置之間的直線,而無(wú)法按 光標(biāo)實(shí)際移動(dòng)的路徑畫(huà)出線條。
發(fā)明內(nèi)容
為了能夠按光標(biāo)實(shí)際移動(dòng)的路徑畫(huà)出線條,本發(fā)明提供了 一種用于即時(shí)通信工具 的圖片處理的方法及裝置。所述技術(shù)方案如下—種用于即時(shí)通信工具的圖片處理的方法,所述方法包括獲取編輯區(qū)域的相關(guān)信息,所述相關(guān)信息至少包括橫坐標(biāo)范圍和縱坐標(biāo)范圍;當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息,所述位置信息至少包括坐標(biāo),記 錄所述位置信息;實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息,根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記錄的位置 信息和所述相關(guān)信息,生成線段,將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。所述獲取編輯區(qū)域的相關(guān)信息,具體包括獲取所述編輯區(qū)域的任意一對(duì)對(duì)角點(diǎn)包括的兩個(gè)角點(diǎn)的坐標(biāo);根據(jù)所述兩個(gè)角點(diǎn)的坐標(biāo),獲取所述編輯區(qū)域的橫坐標(biāo)范圍和縱坐標(biāo)范圍。所述根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記錄的位置信息和所述相關(guān)信息,生成 線段,具體包括根據(jù)所述起始光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述起始光標(biāo)與所述編輯區(qū)域 的位置關(guān)系;根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述當(dāng)前光標(biāo)與所述編輯區(qū)域 的位置關(guān)系;當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)之間生成一條 線段;當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域 的位置關(guān)系不相同時(shí),根據(jù)所述相關(guān)信息確定出所述編輯區(qū)域包括的每條邊界的直線方 程;根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每條邊界的直線方程, 獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊界相交的交點(diǎn);如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述交點(diǎn)與所述記錄 的光標(biāo)之間生成一條線段;如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所述交點(diǎn)與所述當(dāng)前 光標(biāo)之間生成一條線段。所述根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每條邊界的直線方 程,獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊界相交的交點(diǎn), 具體包括根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述記錄的光標(biāo)的坐標(biāo),獲得所述構(gòu)成的線段的直線 方程;將所述構(gòu)成的線段的直線方程與所述每條邊界的直線方程組成方程組,通過(guò)對(duì)每 個(gè)所述方程組進(jìn)行計(jì)算,獲得所述構(gòu)成的線段所在直線與每條邊界所在直線相交的交點(diǎn)的 坐標(biāo);根據(jù)所述記錄的光標(biāo)的坐標(biāo)、所述當(dāng)前光標(biāo)的坐標(biāo)和每個(gè)所述交點(diǎn)的坐標(biāo),選擇 位于所述構(gòu)成的線段中的交點(diǎn),所述選擇的交點(diǎn)為所述構(gòu)成的線段與所述編輯區(qū)域的邊界 相交的交點(diǎn)。所述起始光標(biāo)的位置信息還包括所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng) 地,所述獲取起始光標(biāo)的位置信息,具體包括接收所述起始光標(biāo)的坐標(biāo);判斷所述起始光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫坐標(biāo)范圍和所述縱坐 標(biāo)范圍內(nèi)的值;如果是,所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如果否, 所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外。所述當(dāng)前光標(biāo)的位置信息還包括所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng) 地,所述實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息,具體包括實(shí)時(shí)接收所述當(dāng)前光標(biāo)的坐標(biāo);判斷所述當(dāng)前光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫坐標(biāo)范圍和所述縱坐 標(biāo)范圍內(nèi)的值;如果是,所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如果否, 所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外。所述根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記錄的位置信息和所述相關(guān)信息,生成線段,具體包括當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域 的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)之間生成一條 線段;當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域 的位置關(guān)系不相同時(shí),則根據(jù)所述相關(guān)信息,確定出所述編輯區(qū)域包括的每條邊界的直線 方程;根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每條邊界的直線方程, 獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊界相交的交點(diǎn);如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述交點(diǎn)與所述記錄 的光標(biāo)之間生成一條線段;如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所述交點(diǎn)與所述當(dāng)前 光標(biāo)之間生成一條線段。所述方法還包括當(dāng)接收到結(jié)束通知時(shí),則停止獲取當(dāng)前光標(biāo)的位置信息。一種用于即時(shí)通信工具的圖片處理的裝置,所述裝置包括第一獲取模塊,用于獲取編輯區(qū)域的相關(guān)信息,所述相關(guān)信息至少包括橫坐標(biāo)范 圍和縱坐標(biāo)范圍;第二獲取模塊,用于當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息,所述位置信 息至少包括坐標(biāo),記錄所述位置信息;第三獲取模塊,用于實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息;生成模塊,用于根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記錄的位置信息和所述相關(guān) 信息,生成線段,將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。所述第一獲取模塊具體包括第一獲取單元,用于獲取所述編輯區(qū)域的任意一對(duì)對(duì)角點(diǎn)包括的兩個(gè)角點(diǎn)的坐 標(biāo);第二獲取單元,用于根據(jù)所述兩個(gè)角點(diǎn)的坐標(biāo),獲取所述編輯區(qū)域的橫坐標(biāo)范圍 和縱坐標(biāo)范圍。所述生成模塊具體包括第一判斷單元,用于根據(jù)所述起始光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述起始 光標(biāo)與所述編輯區(qū)域的位置關(guān)系;第二判斷單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述當(dāng)前 光標(biāo)與所述編輯區(qū)域的位置關(guān)系;第一生成單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光 標(biāo)與所述編輯區(qū)域的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前 光標(biāo)之間生成一條線段;第一確定單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的位置關(guān)系不相同時(shí),根據(jù)所述相關(guān)信息確定出所述編輯區(qū)域包括的每 條邊界的直線方程;第三獲取單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每 條邊界的直線方程,獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊 界相交的交點(diǎn);第二生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的 光標(biāo)與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所 述交點(diǎn)與所述記錄的光標(biāo)之間生成一條線段;第三生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的 光標(biāo)與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所 述交點(diǎn)與所述當(dāng)前光標(biāo)之間生成一條線段;第一更新單元,用于將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。所述第三獲取單元具體包括第一獲取子單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述記錄的光標(biāo)的坐標(biāo),獲得 所述構(gòu)成的線段的直線方程;第二獲取子單元,用于將所述構(gòu)成的線段的直線方程與所述每條邊界的直線方程 組成方程組,通過(guò)對(duì)每個(gè)所述方程組進(jìn)行計(jì)算,獲得所述構(gòu)成的線段所在直線與每條邊界 所在直線相交的交點(diǎn)的坐標(biāo);選擇子單元,用于根據(jù)所述記錄的光標(biāo)的坐標(biāo)、所述當(dāng)前光標(biāo)的坐標(biāo)和每個(gè)所述 交點(diǎn)的坐標(biāo),選擇位于所述構(gòu)成的線段中的交點(diǎn),所述選擇的交點(diǎn)為所述構(gòu)成的線段與所 述編輯區(qū)域的邊界相交的交點(diǎn)。所述起始光標(biāo)的位置信息還包括所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng) 地,所述第二獲取模塊具體包括第一接收單元,用于接收所述起始光標(biāo)的坐標(biāo);第三判斷單元,用于判斷所述起始光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫 坐標(biāo)范圍和所述縱坐標(biāo)范圍內(nèi)的值;如果是,所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為 光標(biāo)在編輯區(qū)域內(nèi),如果否,所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域 外;記錄單元,用于記錄所述位置信息。所述當(dāng)前光標(biāo)的位置信息還包括所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng) 地,所述第三獲取模塊具體包括第二接收單元,用于接收所述當(dāng)前光標(biāo)的坐標(biāo);第四判斷單元,用于判斷所述當(dāng)前光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫坐 標(biāo)范圍和所述縱坐標(biāo)范圍內(nèi)的值;如果是,所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如果否, 所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外。所述生成模塊具體包括第四生成單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光 標(biāo)與所述編輯區(qū)域的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)之間生成一條線段;第二確定單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光 標(biāo)與所述編輯區(qū)域的位置關(guān)系不相同時(shí),則根據(jù)所述相關(guān)信息,確定出所述編輯區(qū)域包括 的每條邊界的直線方程;第四獲取單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每 條邊界的直線方程,獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊 界相交的交點(diǎn);第五生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的 光標(biāo)與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所 述交點(diǎn)與所述記錄的光標(biāo)之間生成一條線段;第六生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的 光標(biāo)與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所 述交點(diǎn)與所述當(dāng)前光標(biāo)之間生成一條線段;第二更新單元,用于將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。通過(guò)獲取編輯區(qū)域的相關(guān)信息,當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息, 并記錄該位置信息,獲取當(dāng)前光標(biāo)的位置信息,根據(jù)該當(dāng)前光標(biāo)的位置信息、記錄的位置信 息和該相關(guān)信息,生成線段。其中,由于實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息,使得在當(dāng)前光標(biāo)與 記錄的光標(biāo)之間生成的線段與光標(biāo)實(shí)際移動(dòng)的路徑基本相同,因而,使得畫(huà)出的線條與光 標(biāo)移動(dòng)的路徑基本相同。
圖1是本發(fā)明實(shí)施例1提供的一種用于即時(shí)通信工具的圖片處理的方法流程圖;圖2是本發(fā)明實(shí)施例2提供的一種用于即時(shí)通信工具的圖片處理的方法流程圖;圖3是本發(fā)明實(shí)施例2提供的編輯區(qū)域示意圖;圖4是本發(fā)明實(shí)施例3提供的一種用于即時(shí)通信工具的圖片處理的方法流程圖;圖5是本發(fā)明實(shí)施例4提供的一種用于即時(shí)通信工具的圖片處理的裝置示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。實(shí)施例1如圖1所示,本發(fā)明實(shí)施例提供了一種用于即時(shí)通信工具的圖片處理的方法,包 括步驟101 獲取編輯區(qū)域的相關(guān)信息,該相關(guān)信息至少包括橫坐標(biāo)范圍和縱坐標(biāo) 范圍;步驟102 當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息,該位置信息至少包括 坐標(biāo),記錄該起始光標(biāo)的位置信息;步驟103 實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息,該位置信息至少包括該當(dāng)前光標(biāo)的坐 標(biāo),根據(jù)當(dāng)前光標(biāo)的位置信息、記錄的位置信息和該相關(guān)信息,生成線段,將記錄的位置信息更新為當(dāng)前光標(biāo)的位置信息。在本發(fā)明實(shí)施例中,通過(guò)獲取編輯區(qū)域的相關(guān)信息,當(dāng)接收到開(kāi)始通知時(shí),獲取起 始光標(biāo)的位置信息,并記錄該位置信息,獲取當(dāng)前光標(biāo)的位置信息,根據(jù)該當(dāng)前光標(biāo)的位置 信息、記錄的位置信息和該相關(guān)信息,生成線段。其中,由于實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息, 使得在當(dāng)前光標(biāo)與記錄的光標(biāo)之間生成的線段與光標(biāo)實(shí)際移動(dòng)的路徑基本相同,因而,使 得畫(huà)出的線條與光標(biāo)移動(dòng)的路徑基本相同。實(shí)施例2如圖2所示,本發(fā)明實(shí)施例提供了一種用于即時(shí)通信工具的圖片處理的方法,包 括步驟201 當(dāng)用戶(hù)開(kāi)啟即時(shí)通信工具的編輯功能,并在圖片中畫(huà)出矩形的編輯區(qū) 域時(shí),編輯功能獲取該編輯區(qū)域的相關(guān)信息,該相關(guān)信息至少包括該編輯區(qū)域的橫坐標(biāo)范 圍和縱坐標(biāo)范圍;其中,由于編輯區(qū)域是矩形結(jié)構(gòu),所以其有兩對(duì)對(duì)角點(diǎn),每對(duì)有兩個(gè)角點(diǎn)。具體地, 編輯功能針對(duì)其中一對(duì)兩個(gè)角點(diǎn),獲取每個(gè)角點(diǎn)的坐標(biāo)分別為(XI,Yl)和(X2,Y2),假設(shè), Xl < X2,Yl > Y2,根據(jù)角點(diǎn)坐標(biāo)(XI,Yl)和(X2,Y2),獲得的編輯區(qū)域的相關(guān)信息包括橫 坐標(biāo)范圍[XI,X2]和縱坐標(biāo)范圍[Y2,Y1]。其中,用戶(hù)可以通過(guò)鼠標(biāo)或觸摸屏等設(shè)備開(kāi)啟即時(shí)通信工具的編輯功能,并在圖 片中畫(huà)出矩形的編輯區(qū)域。例如,用戶(hù)利用鼠標(biāo)開(kāi)啟即時(shí)通信工具的編輯功能,并利用鼠標(biāo) 畫(huà)出矩形的編輯區(qū)域?yàn)槿鐖D3所示的編輯區(qū)域ABCD,該編輯區(qū)域包括兩對(duì)對(duì)角點(diǎn),其中一 對(duì)對(duì)角點(diǎn)包括角點(diǎn)A和角點(diǎn)C,另一對(duì)對(duì)角點(diǎn)包括角點(diǎn)B和角點(diǎn)D。編輯功能獲取其中一對(duì) 兩個(gè)角點(diǎn)的坐標(biāo),假設(shè),獲取角點(diǎn)A和角點(diǎn)C的坐標(biāo)分別為(2,4)和(6,1),根據(jù)角點(diǎn)A的坐 標(biāo)(2,4)和角點(diǎn)C的坐標(biāo)(6,1),獲得編輯區(qū)域AB⑶的相關(guān)信息包括橫坐標(biāo)范圍為[2,6] 和縱坐標(biāo)范圍為[1,4]。步驟202 當(dāng)編輯功能接收到開(kāi)始通知時(shí),開(kāi)始接收鼠標(biāo)發(fā)送的當(dāng)前光標(biāo)的坐標(biāo) (X,Y),將該當(dāng)前光標(biāo)作為起始光標(biāo),根據(jù)起始光標(biāo)的坐標(biāo)(χ,γ)獲取起始光標(biāo)與編輯區(qū)域 的位置關(guān)系,記錄起始光標(biāo)的坐標(biāo)(X,Y)以及其與編輯區(qū)域位置關(guān)系;其中,獲取起始光標(biāo)的位置關(guān)系的步驟具體為判斷起始光標(biāo)的橫坐標(biāo)X和縱坐 標(biāo)Y是否分別屬于編輯區(qū)域的橫坐標(biāo)范圍[Χ1,Χ2]和縱坐標(biāo)范圍[Υ2,Υ1]內(nèi)的值,如果是, 則起始光標(biāo)與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如果否,則起始光標(biāo)與編輯區(qū)域 的位置關(guān)系為光標(biāo)在編輯區(qū)域外。其中,如果用戶(hù)使用的設(shè)備為鼠標(biāo)時(shí),則用戶(hù)按下鼠標(biāo)的左鍵并開(kāi)始畫(huà)線條。當(dāng)鼠 標(biāo)的左鍵被按下時(shí),鼠標(biāo)發(fā)送開(kāi)始通知給編輯功能,并每隔一個(gè)周期發(fā)送當(dāng)前光標(biāo)的坐標(biāo); 如果用戶(hù)使用的設(shè)備為觸摸屏?xí)r,當(dāng)用戶(hù)按壓觸摸屏?xí)r,觸摸屏發(fā)送開(kāi)始通知給編輯功能, 并每隔一個(gè)周期發(fā)送當(dāng)前光標(biāo)的坐標(biāo);編輯功能接收到鼠標(biāo)或觸摸屏等設(shè)備發(fā)送的開(kāi)始通 知后,開(kāi)始實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo)。其中,由于鼠標(biāo)或觸摸屏等設(shè)備發(fā)送當(dāng)前光標(biāo)的周期 較短,通常為幾毫秒的時(shí)間或更短,因此,當(dāng)編輯接收到開(kāi)始通知后,就可以實(shí)時(shí)地接收當(dāng) 前光標(biāo)的坐標(biāo)。另外,鼠標(biāo)通過(guò)MouseMove消息發(fā)送當(dāng)前光標(biāo)的坐標(biāo),即在MouseMove消 息中攜帶當(dāng)前光標(biāo)的坐標(biāo);可以將當(dāng)前光標(biāo)的坐標(biāo)和其與編輯區(qū)域的位置關(guān)系作為位置信 肩、ο
例如,假設(shè),當(dāng)前光標(biāo)為如圖3所示的光標(biāo)E,且光標(biāo)E的坐標(biāo)為(5,3),當(dāng)鼠標(biāo)的 左鍵按下時(shí),鼠標(biāo)向編輯功能發(fā)送開(kāi)始通知;當(dāng)編輯功能接收到該開(kāi)始通知后,開(kāi)始接收鼠 標(biāo)發(fā)送的當(dāng)前光標(biāo)E的坐標(biāo)為(5,3),將當(dāng)前光標(biāo)E作為起始光標(biāo),編輯功能再判斷光標(biāo)E 的橫坐標(biāo)5和縱坐標(biāo)3是否分別屬于編輯區(qū)域AB⑶的橫坐標(biāo)范圍[2,6]和縱坐標(biāo)范圍[1, 5]內(nèi)的值,由于判斷出光標(biāo)E的橫坐標(biāo)5和縱坐標(biāo)3分別屬于橫坐標(biāo)范圍[2,6]和縱坐標(biāo) 范圍[1,4]內(nèi)的值,所以得出光標(biāo)E與編輯區(qū)域AB⑶的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),記 錄光標(biāo)E的坐標(biāo)(1,2)以及其與編輯區(qū)域ABCD的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi)。步驟203 當(dāng)編輯功能再次接收到當(dāng)前光標(biāo)的坐標(biāo)時(shí),根據(jù)該當(dāng)前光標(biāo)的坐標(biāo)(X, Y),獲得當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系;具體地,當(dāng)編輯功能接收到當(dāng)前光標(biāo)的坐標(biāo)(X,Y),判斷當(dāng)前光標(biāo)的橫坐標(biāo)X和縱 坐標(biāo)Y是否分別屬于編輯區(qū)域的橫坐標(biāo)范圍[X1,X2]和縱坐標(biāo)范圍[Y2,Y1]內(nèi)的值,如果 是,則當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi);如果否,則當(dāng)前光標(biāo)與編輯的 位置關(guān)系為光標(biāo)在編輯區(qū)域外。其中,為了便于說(shuō)明,在本實(shí)施例中將記錄中存儲(chǔ)的光標(biāo)的坐標(biāo)表示為(Χ’,Υ’)。例如,當(dāng)編輯功能再次接收到鼠標(biāo)發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),假設(shè),此次接收的當(dāng) 前光標(biāo)的坐標(biāo)為如圖3所示的當(dāng)前光標(biāo)F的坐標(biāo)(4,2),判斷出當(dāng)前光標(biāo)F的橫坐標(biāo)4和縱 坐標(biāo)2分別屬于編輯區(qū)域AB⑶的橫坐標(biāo)范圍[2,6]和縱坐標(biāo)范圍[1,4]內(nèi)的值,所以得到 當(dāng)前光標(biāo)F與編輯區(qū)域ABCD的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi)。步驟204 編輯功能判斷當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū) 域的位置關(guān)系,如果兩者都為光標(biāo)在編輯區(qū)域外,則執(zhí)行步驟205,如果兩者都為光標(biāo)在編 輯區(qū)域內(nèi),則執(zhí)行步驟206,否則,執(zhí)行步驟207 ;步驟205 編輯功能將記錄中存儲(chǔ)的光標(biāo)的坐標(biāo)(X’,Y’ )以及其與編輯區(qū)域的位 置關(guān)系更新為當(dāng)前光標(biāo)的坐標(biāo)(X,Y)以及當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系,操作結(jié)束;其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再次接收到鼠標(biāo)或 觸摸屏等設(shè)備發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),則繼續(xù)從步驟203開(kāi)始執(zhí)行。步驟206 編輯功能在當(dāng)前光標(biāo)與記錄中存儲(chǔ)的光標(biāo)之間生成一條線段,將記錄 中存儲(chǔ)的光標(biāo)的坐標(biāo)(X’,Y’)以及其與編輯區(qū)域位置關(guān)系更新為當(dāng)前光標(biāo)的坐標(biāo)(X,Y) 以及當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系,操作結(jié)束;其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再次接收到鼠標(biāo)或 觸摸屏等設(shè)備發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),則繼續(xù)從步驟203開(kāi)始執(zhí)行。其中,由于鼠標(biāo)或觸摸屏等設(shè)備發(fā)送當(dāng)前光標(biāo)的坐標(biāo)的周期較短,使得在記錄中 存儲(chǔ)的光標(biāo)與當(dāng)前光標(biāo)之間生成的線段與光標(biāo)實(shí)際移動(dòng)的路徑基本相同。例如,編輯功能在步驟204中判斷當(dāng)前光標(biāo)F與編輯區(qū)域AB⑶的位置關(guān)系和記錄 的光標(biāo)E與編輯區(qū)域ABCD的位置關(guān)系,由于判斷出兩者都為光標(biāo)在編輯區(qū)域內(nèi),則執(zhí)行本 步驟,并在本步驟中,在當(dāng)前光標(biāo)F和記錄的光標(biāo)E之間生成一條線段,將記錄中存儲(chǔ)的光 標(biāo)E的坐標(biāo)和其與編輯區(qū)域ABCD的位置關(guān)系更新為當(dāng)前光標(biāo)F的坐標(biāo)0,2)以及其與編 輯區(qū)域AB⑶的位置關(guān)系。步驟207 編輯功能根據(jù)當(dāng)前光標(biāo)的坐標(biāo)(X,Y)和記錄的光標(biāo)的坐標(biāo)(Χ’,Υ’),獲 得由記錄的光標(biāo)和當(dāng)前光標(biāo)所構(gòu)成線段的直線方程;
具體地,根據(jù)當(dāng)前光標(biāo)的坐標(biāo)(X,Y)和記錄的光標(biāo)的坐標(biāo)(X’,Y’),計(jì)算出斜率
k = 和截矩b = Χ "ΧΥ',再將斜率k和截矩b組成直線方程y = kx+b,該直線方程 X'-XX'-X
即為由當(dāng)前光標(biāo)和記錄的光標(biāo)所構(gòu)成的線段的直線方程。例如,假設(shè),記錄中存儲(chǔ)的光標(biāo)的坐標(biāo)為如圖3所示的光標(biāo)G,其中,光標(biāo)G的坐標(biāo) 為(1,2),且光標(biāo)G與編輯區(qū)域ABCD的位置關(guān)系為光標(biāo)在編輯區(qū)域外;當(dāng)前光標(biāo)為光標(biāo)H, 其中,當(dāng)前光標(biāo)H的坐標(biāo)為(3,3),且當(dāng)前光標(biāo)H與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域 內(nèi);在本步驟中,編輯功能根據(jù)記錄的光標(biāo)G的坐標(biāo)(1, 和當(dāng)前光標(biāo)H的坐標(biāo)(3,3),得 到線段GH的直線方程為y = 0. 5x+l. 5。步驟208 編輯功能確定出編輯區(qū)域包括的每條邊界的直線方程,通過(guò)編輯區(qū)域 包括的每條邊界的直線方程以及由當(dāng)前光標(biāo)和記錄的光標(biāo)所構(gòu)成的線段的直線方程,獲得 該線段與編輯區(qū)域的邊界相交的交點(diǎn);具體地,根據(jù)編輯區(qū)域的橫坐標(biāo)范圍和縱坐標(biāo)范圍,確定出編輯區(qū)域包括的每條 邊界的直線方程,將編輯區(qū)域的每一條邊界的直線方程與該線段的直線方程組成方程組, 再對(duì)每個(gè)方程組進(jìn)行計(jì)算,得到該線段所在直線與編輯區(qū)域的每一條邊界所在直線相交的 交點(diǎn)的坐標(biāo),根據(jù)每個(gè)交點(diǎn)的坐標(biāo),選擇該線段與編輯區(qū)域的邊界相交的交點(diǎn)。其中,在該線段中的每個(gè)點(diǎn)的橫坐標(biāo)都屬于記錄的光標(biāo)的橫坐標(biāo)X’與當(dāng)前光標(biāo)的 橫坐標(biāo)X之間的數(shù)值,在該線段中的每個(gè)點(diǎn)的縱坐標(biāo)都屬于記錄的光標(biāo)的縱坐標(biāo)Y’與當(dāng)前 光標(biāo)的縱坐標(biāo)Y之間的數(shù)值。所以根據(jù)上述說(shuō)明可知,根據(jù)每個(gè)交點(diǎn)的坐標(biāo),選擇該線段與 編輯區(qū)域的邊界相交的交點(diǎn)的步驟,具體為從每個(gè)交點(diǎn)中,選擇橫坐標(biāo)屬于記錄的光標(biāo)的 橫坐標(biāo)X’與當(dāng)前光標(biāo)的橫坐標(biāo)X之間的數(shù)值且縱坐標(biāo)屬于記錄的光標(biāo)的縱坐標(biāo)Y’與當(dāng) 前光標(biāo)的縱坐標(biāo)Y之間的數(shù)值的交點(diǎn),選擇的交點(diǎn)即為該線段與編輯區(qū)域的邊界相交的交 點(diǎn)ο例如,根據(jù)橫坐標(biāo)范圍[2,6]和縱坐標(biāo)范圍[1,4]確定出編輯區(qū)域AB⑶的每條邊 界的直線方程分別為X = 2、x = 6、y = 1和y = 4,將編輯區(qū)域AB⑶的每條邊界的直線方 程即χ = 2、χ = 6、y = 1和y = 4分別與線段GH的直線方程y = 0. 5x+l. 5,組成四個(gè)方 程組,分別對(duì)每個(gè)方程組進(jìn)行計(jì)算,得到四個(gè)交點(diǎn)的坐標(biāo)分別為(2,2.5)、(6,4. 5), (-1,1) 和(5,4),從四個(gè)交點(diǎn)中選擇橫坐標(biāo)屬于[1,3]且縱坐標(biāo)屬于[2,3]內(nèi)的交點(diǎn)0,2.5),為 了便于說(shuō)明用K表示選擇的交點(diǎn),其中,交點(diǎn)K即為線段GH與編輯區(qū)域ABCD的邊界相交的 交點(diǎn)。進(jìn)一步地,在本實(shí)施例中,可以在本步驟中不進(jìn)行確定編輯區(qū)域包括每條邊界的 直線方程的操作,而在步驟201中根據(jù)獲取的兩個(gè)角點(diǎn)的坐標(biāo),獲取編輯區(qū)域包括的每條 邊界的直線方程。步驟209 判斷當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū)域的位置 關(guān)系,如果兩者分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外,則執(zhí)行步驟210,如果兩者 分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi),則執(zhí)行步驟211 ;例如,編輯功能判斷當(dāng)前光標(biāo)H與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)G與編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外,則執(zhí)行步驟210。步驟210 編輯功能在交點(diǎn)與當(dāng)前光標(biāo)之間生成一條線段,將記錄中存儲(chǔ)的光標(biāo)的坐標(biāo)(X’,Y’ )以及其與編輯區(qū)域的位置關(guān)系更新為當(dāng)前光標(biāo)的坐標(biāo)(X,Y)以及當(dāng)前光 標(biāo)與編輯區(qū)域的位置關(guān)系,操作結(jié)束;其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再次接收到鼠標(biāo)發(fā) 送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),則繼續(xù)從步驟203開(kāi)始執(zhí)行。其中,在交點(diǎn)與當(dāng)前光標(biāo)之間生成線段,如此,可以實(shí)現(xiàn)只畫(huà)出編輯區(qū)域內(nèi)的線
^^ ο例如,在交點(diǎn)K與當(dāng)前光標(biāo)H之間生成一條線段,再將記錄中存儲(chǔ)的光標(biāo)G的坐標(biāo) 和其與編輯區(qū)域ABCD的位置關(guān)系更新為當(dāng)前光標(biāo)F的坐標(biāo)(3,3)以及其與編輯區(qū)域ABCD 的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi)。步驟211 編輯功能在交點(diǎn)與記錄的光標(biāo)之間生成一條線段,將記錄中存儲(chǔ)的光 標(biāo)的坐標(biāo)(X’,Y’)以及其與編輯區(qū)域的位置關(guān)系更新為當(dāng)前光標(biāo)的坐標(biāo)(X,Y)以及當(dāng)前 光標(biāo)與編輯區(qū)域的位置關(guān)系,操作結(jié)束。其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再次接收到鼠標(biāo)發(fā) 送的當(dāng)前光標(biāo)時(shí),則繼續(xù)從步驟203重新開(kāi)始執(zhí)行。其中,在交點(diǎn)與記錄的光標(biāo)之間生成線段,如此,可以實(shí)現(xiàn)只畫(huà)出編輯區(qū)域內(nèi)的線條。其中,在本實(shí)施例中,當(dāng)編輯功能接收到鼠標(biāo)發(fā)送的當(dāng)前光標(biāo)時(shí),還可以先判斷當(dāng) 前光標(biāo)的坐標(biāo)(X,Y)和記錄的光標(biāo)的坐標(biāo)(X’,Y’)是否相同,如果不相同,則再執(zhí)行其他 的操作,如果相同,則不做任何操作繼續(xù)接收鼠標(biāo)發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)。其中,在本實(shí)施例中,用戶(hù)還可以設(shè)置線條的寬度和顏色,當(dāng)編輯功能生成線段 時(shí),將用戶(hù)設(shè)置的線條的寬度和顏色設(shè)置為線段的寬度和顏色。其中,當(dāng)用戶(hù)松開(kāi)鼠標(biāo)的左鍵或觸摸屏等設(shè)備時(shí),鼠標(biāo)或觸摸屏等設(shè)備發(fā)送結(jié)束 通知給編輯功能,編輯功能接收該結(jié)束通知后,停止接收當(dāng)前光標(biāo)的坐標(biāo)。由于在每個(gè)周期 內(nèi)生成的線段與光標(biāo)移動(dòng)的路徑相近似,所以使得用戶(hù)畫(huà)出的線條與光標(biāo)實(shí)際移動(dòng)的路徑 非常相近似,因此,畫(huà)出的線條與光標(biāo)實(shí)際移動(dòng)的路徑基本相同。其中,當(dāng)鼠標(biāo)或觸摸屏等設(shè)備畫(huà)出編輯區(qū)域時(shí),編輯功能將編輯區(qū)域內(nèi)的圖片保 存在內(nèi)存中,并且當(dāng)編輯功能每畫(huà)出一條線條時(shí),將整個(gè)編輯區(qū)域內(nèi)的圖片保存在內(nèi)存中, 當(dāng)用戶(hù)進(jìn)行撤消畫(huà)出的線條時(shí),將從內(nèi)存中直接讀取相應(yīng)的圖片。其中,即時(shí)通信工具通常都帶有截屏功能,用戶(hù)可以利用截屏功能截取圖片,然后 開(kāi)啟編輯功能,并利用編輯功能直接對(duì)截取的圖片進(jìn)行編輯,如此方便了用戶(hù),提高用戶(hù)體 驗(yàn)。在本發(fā)明實(shí)施例中,通過(guò)獲取編輯區(qū)域的相關(guān)信息,當(dāng)接收到鼠標(biāo)按下的信號(hào)時(shí), 獲取并記錄起始光標(biāo)的位置信息,當(dāng)再次接收到鼠標(biāo)發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí)、根據(jù)該當(dāng) 前光標(biāo)的坐標(biāo)和其與編輯區(qū)域的位置關(guān)系、記錄的位置信息和編輯區(qū)域的相關(guān)信息,生成 線段。其中,由于編輯功能每隔一個(gè)周期接收一次當(dāng)前光標(biāo)的坐標(biāo),且該周期較短,使得在 每個(gè)周期內(nèi)生成的線段與光標(biāo)實(shí)際移動(dòng)的路徑非常相似,因而,使得畫(huà)出的線條與光標(biāo)移 動(dòng)的路徑基本相同。實(shí)施例4如圖4所示,本發(fā)明實(shí)施例提供了一種用于即時(shí)通信工具的圖片處理的方法,包括步驟301 當(dāng)用戶(hù)開(kāi)啟即時(shí)通信工具的編輯功能,并在圖片中畫(huà)出矩形的編輯區(qū) 域時(shí),編輯功能獲取該編輯區(qū)域的相關(guān)信息,該相關(guān)信息至少包括該編輯區(qū)域的橫坐標(biāo)范 圍和縱坐標(biāo)范圍;其中,由于編輯區(qū)域是矩形結(jié)構(gòu),所以其有兩對(duì)對(duì)角點(diǎn),每對(duì)有兩個(gè)角點(diǎn)。具體地, 編輯功能針對(duì)其中一對(duì)兩個(gè)角點(diǎn),獲取每個(gè)角點(diǎn)的坐標(biāo)分別為(XI,Yl)和(X2,Y2),假設(shè), Xl < X2,Yl > Y2,根據(jù)角點(diǎn)坐標(biāo)(XI,Yl)和(X2,Y2),獲得的編輯區(qū)域的相關(guān)信息包括橫 坐標(biāo)范圍[XI,X2]和縱坐標(biāo)范圍[Y2,Y1]。其中,用戶(hù)可以通過(guò)鼠標(biāo)或觸摸屏等設(shè)備開(kāi)啟即時(shí)通信工具的編輯功能,并在圖 片中畫(huà)出矩形的編輯區(qū)域。步驟302 當(dāng)編輯功能接收到開(kāi)始通知時(shí),開(kāi)始接收當(dāng)前光標(biāo)的坐標(biāo)(X,Y),將該 當(dāng)前光標(biāo)作為起始光標(biāo),記錄該起始光標(biāo)的坐標(biāo);其中,如果用戶(hù)使用的設(shè)備為鼠標(biāo)時(shí),則用戶(hù)可以按下鼠標(biāo)的左鍵并開(kāi)始畫(huà)線條。 當(dāng)鼠標(biāo)的左鍵被按下時(shí),鼠標(biāo)發(fā)送開(kāi)始通知給編輯功能,并每隔一個(gè)周期發(fā)送當(dāng)前光標(biāo)的 坐標(biāo);如果用戶(hù)使用的設(shè)備為觸摸屏?xí)r,當(dāng)用戶(hù)按壓觸摸屏?xí)r,觸摸屏發(fā)送開(kāi)始通知給編輯 功能,并每隔一個(gè)周期發(fā)送當(dāng)前光標(biāo)的坐標(biāo);編輯功能接收到鼠標(biāo)或觸摸屏等設(shè)備發(fā)送的 開(kāi)始通知后,開(kāi)始實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo)。其中,為了便于說(shuō)明將記錄的光標(biāo)的坐標(biāo)表示為(Χ’,Υ’)。步驟303 當(dāng)編輯功能再次接收到當(dāng)前光標(biāo)的坐標(biāo)(Χ,Υ)時(shí),根據(jù)該當(dāng)前光標(biāo)的坐 標(biāo),獲得該當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系;其中,獲得當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系的步驟與實(shí)施例2的步驟203相同,在 此不再贅述。步驟304 編輯功能根據(jù)記錄的光標(biāo)的坐標(biāo),獲得記錄的光標(biāo)與編輯區(qū)域的位置 關(guān)系;具體地,判斷記錄的光標(biāo)的橫坐標(biāo)X’和縱坐標(biāo)Y’是否分別屬于編輯區(qū)域的橫坐 標(biāo)范圍[Χ1,Χ2]和縱坐標(biāo)范圍[Υ2,Υ1]的內(nèi)的值,如果是,則記錄的光標(biāo)與編輯區(qū)域的位置 關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如是否,則記錄的光標(biāo)與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū) 域外。步驟305 編輯功能判斷當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū) 域的位置關(guān)系,如果兩者都為光標(biāo)在編輯區(qū)域外,則執(zhí)行步驟306 ;如果兩者都為光標(biāo)在編 輯區(qū)域內(nèi),則執(zhí)行步驟307 ;如果兩者不相同,則執(zhí)行步驟308 ;步驟306 編輯功能將記錄的光標(biāo)的坐標(biāo)更新為當(dāng)前光標(biāo)的坐標(biāo),操作結(jié)束;其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再接收到鼠標(biāo)或觸 摸屏等設(shè)備發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),則從步驟303開(kāi)始執(zhí)行。步驟307 編輯功能在記錄的光標(biāo)與當(dāng)前光標(biāo)之間生成一條線段,并將記錄的光 標(biāo)的坐標(biāo)更新為當(dāng)前光標(biāo)的坐標(biāo),操作結(jié)束;其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再接收到鼠標(biāo)或觸 摸屏等設(shè)備發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),則從步驟303開(kāi)始執(zhí)行。步驟308 編輯功能根據(jù)編輯區(qū)域的橫坐標(biāo)范圍[XI,XI]和縱坐標(biāo)范圍[Υ2,Υ1],
15確定出編輯區(qū)域包括的每條邊界的直線方程分別為χ = XI、χ = X2、y = Yl和y = Y2 ;步驟309 編輯功能根據(jù)記錄的光標(biāo)(X’,Y’)和當(dāng)前光標(biāo)的坐標(biāo)(X,Y),獲得由記 錄的光標(biāo)和當(dāng)前光標(biāo)所構(gòu)成線段的直線方程;其中,獲得該線段的直線方程的步驟與實(shí)施例2的步驟207相同,在此不再贅述。步驟310 編輯功能通過(guò)該線段的直線方程和編輯區(qū)域包括的每條邊界的直線方 程,獲得該線段與編輯區(qū)域的邊界相交的交點(diǎn);其中,獲得該線段與編輯區(qū)域的邊界相交的交點(diǎn)的步驟與實(shí)施例2的步驟208相 同,在此不再贅述。步驟311 編輯功能判斷當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯 區(qū)域的位置關(guān)系,如果兩者分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則執(zhí)行步驟 312 ;如果兩者分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則執(zhí)行步驟313 ;步驟312 編輯功能在當(dāng)前光標(biāo)與交點(diǎn)之間生成一條線段,并將記錄的光標(biāo)的坐 標(biāo)更新為當(dāng)前光標(biāo)的坐標(biāo);其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再接收到鼠標(biāo)或觸 摸屏等設(shè)備發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),則從步驟303開(kāi)始執(zhí)行。步驟313 編輯功能在記錄的光標(biāo)與交點(diǎn)之間生成一條線段,并將記錄的光標(biāo)的 坐標(biāo)更新為當(dāng)前光標(biāo)的坐標(biāo)。其中,編輯功能繼續(xù)實(shí)時(shí)接收當(dāng)前光標(biāo)的坐標(biāo),如果編輯功能再接收到鼠標(biāo)或觸 摸屏等設(shè)備發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí),則從步驟303開(kāi)始執(zhí)行。其中,在本實(shí)施例中,當(dāng)編輯功能將記錄中存儲(chǔ)的起始光標(biāo)的坐標(biāo)更新為當(dāng)前光 標(biāo)的坐標(biāo)時(shí),還可以記錄當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系,然后再進(jìn)行每次更新記錄時(shí),將 記錄的光標(biāo)的坐標(biāo)和其與編輯區(qū)域的位置關(guān)系更新為當(dāng)前光標(biāo)的坐標(biāo)和其與編輯區(qū)域的 位置關(guān)系,并且不再進(jìn)行步驟304。在本發(fā)明實(shí)施例中,通過(guò)獲取編輯區(qū)域的相關(guān)信息,當(dāng)接收到開(kāi)始通知時(shí),獲取并 記錄起始光標(biāo)的坐標(biāo),當(dāng)再次接收到鼠標(biāo)發(fā)送的當(dāng)前光標(biāo)的坐標(biāo)時(shí)、根據(jù)該當(dāng)前光標(biāo)的坐 標(biāo)、記錄的坐標(biāo)和編輯區(qū)域的相關(guān)信息,生成線段。其中,由于編輯功能每隔一個(gè)周期接收 一次當(dāng)前光標(biāo)的坐標(biāo),且該周期較短,使得在每個(gè)周期內(nèi)生成的線段與光標(biāo)實(shí)際移動(dòng)的路 徑非常相似,因而,使得畫(huà)出的線條與光標(biāo)移動(dòng)的路徑基本相同。實(shí)施例3如圖5所示,本發(fā)明實(shí)施例提供了一種用于即時(shí)通信工具的圖片處理的裝置,包 括第一獲取模塊301,用于獲取編輯區(qū)域的相關(guān)信息,該相關(guān)信息至少包括橫坐標(biāo)范 圍和縱坐標(biāo)范圍;第二獲取模塊302,用于當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息,該位置 信息至少包括坐標(biāo),記錄該位置信息;第三獲取模塊303,用于獲取當(dāng)前光標(biāo)的位置信息;生成模塊304,用于根據(jù)當(dāng)前光標(biāo)的位置信息、記錄的位置信息和該相關(guān)信息,生 成線段,將記錄的位置信息更新為該當(dāng)前光標(biāo)的位置信息。其中,第一獲取模塊301具體包括
第一獲取單元,用于獲取編輯區(qū)域的任意一對(duì)對(duì)角點(diǎn)包括的兩個(gè)角點(diǎn)的坐標(biāo);第二獲取單元,用于根據(jù)兩個(gè)角點(diǎn)的坐標(biāo),獲取編輯區(qū)域的橫坐標(biāo)范圍、縱坐標(biāo)范 圍和每條邊界的直線方程;其中,生成模塊304具體包括第一判斷單元,用于根據(jù)起始光標(biāo)的坐標(biāo)和該相關(guān)信息,判斷出起始光標(biāo)與編輯 區(qū)域的位置關(guān)系;第二判斷單元,用于根據(jù)當(dāng)前光標(biāo)的坐標(biāo)和該相關(guān)信息,判斷出當(dāng)前光標(biāo)與編輯 區(qū)域的位置關(guān)系;第一生成單元,用于當(dāng)當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū)域 的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在記錄的光標(biāo)與當(dāng)前光標(biāo)之間生成一條段;第一確定單元,用于當(dāng)當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū)域 的位置關(guān)系不相同時(shí),根據(jù)該相關(guān)信息確定出編輯區(qū)域包括的每條邊界的直線方程;第三獲取單元,用于根據(jù)當(dāng)前光標(biāo)的坐標(biāo)、記錄的光標(biāo)的坐標(biāo)和每條邊界的直線 方程,獲得記錄的光標(biāo)與當(dāng)前光標(biāo)構(gòu)成的線段與編輯區(qū)域的邊界相交的交點(diǎn);第二生成單元,用于如果當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在交點(diǎn)與記錄的光標(biāo)之 間生成一條線段;第三生成單元,用于如果當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在交點(diǎn)與當(dāng)前光標(biāo)之間 生成一條線段;第一更新單元,用于將記錄的位置信息更新為該當(dāng)前光標(biāo)的位置信息;其中,第三獲取單元具體包括第一獲取子單元,用于根據(jù)當(dāng)前光標(biāo)的坐標(biāo)和記錄的光標(biāo)的坐標(biāo),獲得構(gòu)成的線 段的直線方程;第二獲取子單元,用于將構(gòu)成的線段的直線方程與每條邊界的直線方程組成方程 組,通過(guò)對(duì)每個(gè)方程組進(jìn)行計(jì)算,獲得所述構(gòu)成的線段所在直線與每條邊界所在直線相交 的交點(diǎn)的坐標(biāo);選擇子單元,用于根據(jù)記錄的光標(biāo)的坐標(biāo)、當(dāng)前光標(biāo)的坐標(biāo)和每個(gè)交點(diǎn)的坐標(biāo),選 擇位于構(gòu)成的線段中的交點(diǎn),選擇的交點(diǎn)為構(gòu)成的線段與編輯區(qū)域的邊界相交的交點(diǎn);其中,起始光標(biāo)的位置信息還包括起始光標(biāo)與編輯區(qū)域的位置關(guān)系,相應(yīng)地,第三 獲取模塊302具體包括第一接收單元,用于接收起始光標(biāo)的坐標(biāo);第三判斷單元,用于判斷起始光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于編輯區(qū)域的橫 坐標(biāo)范圍和縱坐標(biāo)范圍內(nèi)的值;如果是,則起始光標(biāo)與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯 區(qū)域內(nèi),如果否,則起始光標(biāo)與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外;記錄單元,用于記錄起始光標(biāo)的位置信息;其中,當(dāng)前光標(biāo)的位置信息還包括當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系,相應(yīng)地,第三 獲取模塊303具體包括第二接收單元,用于接收當(dāng)前光標(biāo)的坐標(biāo);
第四判斷單元,用于判斷當(dāng)前光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于編輯區(qū)域的橫 坐標(biāo)范圍和縱坐標(biāo)范圍內(nèi)的值;如果是,則當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯 區(qū)域內(nèi),如果否,則當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外;其中,生成模塊304具體包括第四生成單元,用于當(dāng)當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū)域 的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在記錄的光標(biāo)與當(dāng)前光標(biāo)之間生成一條線段;第四獲取單元,用于當(dāng)當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū)域 的位置關(guān)系不相同時(shí),則根據(jù)當(dāng)前光標(biāo)的坐標(biāo)、記錄的光標(biāo)的坐標(biāo)和每條邊界的直線方程, 獲得記錄的光標(biāo)與當(dāng)前光標(biāo)構(gòu)成的線段與編輯區(qū)域的邊界相交的交點(diǎn);第五生成單元,用于如果當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在該交點(diǎn)與記錄的光標(biāo) 之間生成一條線段;第六生成單元,用于如果當(dāng)前光標(biāo)與編輯區(qū)域的位置關(guān)系和記錄的光標(biāo)與編輯區(qū) 域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在該交點(diǎn)與當(dāng)前光標(biāo)之 間生成一條線段;第二更新單元,用于將記錄的位置信息更新為該當(dāng)前光標(biāo)的位置信息;其中,該圖片處理的裝置為即時(shí)通信工具中的編輯功能。在本發(fā)明實(shí)施例中,通過(guò)獲取編輯區(qū)域的相關(guān)信息,當(dāng)接收到開(kāi)始通知時(shí),獲取起 始光標(biāo)的位置信息,并記錄該位置信息,獲取當(dāng)前光標(biāo)的位置信息,根據(jù)該當(dāng)前光標(biāo)的位置 信息、記錄的位置信息和該相關(guān)信息,生成線段。其中,由于實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息, 使得到在當(dāng)前光標(biāo)與記錄的光標(biāo)之間生成的線段與光標(biāo)實(shí)際移動(dòng)的路徑基本相同,因而, 使得畫(huà)出的線條與光標(biāo)移動(dòng)的路徑基本相同。以上實(shí)施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過(guò)軟件編程實(shí)現(xiàn),其軟件 程序存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)例如計(jì)算機(jī)中的硬盤(pán)、光盤(pán)或軟盤(pán)。 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種用于即時(shí)通信工具的圖片處理的方法,其特征在于,所述方法包括獲取編輯區(qū)域的相關(guān)信息,所述相關(guān)信息至少包括橫坐標(biāo)范圍和縱坐標(biāo)范圍;當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息,所述位置信息至少包括坐標(biāo),記錄所 述位置信息;實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息,根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記錄的位置信息 和所述相關(guān)信息,生成線段,將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述獲取編輯區(qū)域的相關(guān)信息,具體包括獲取所述編輯區(qū)域的任意一對(duì)對(duì)角點(diǎn)包括的兩個(gè)角點(diǎn)的坐標(biāo);根據(jù)所述兩個(gè)角點(diǎn)的坐標(biāo),獲取所述編輯區(qū)域的橫坐標(biāo)范圍和縱坐標(biāo)范圍。
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記 錄的位置信息和所述相關(guān)信息,生成線段,具體包括根據(jù)所述起始光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述起始光標(biāo)與所述編輯區(qū)域的位 置關(guān)系;根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位 置關(guān)系;當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的位 置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)之間生成一條線 段;當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的位 置關(guān)系不相同時(shí),根據(jù)所述相關(guān)信息確定出所述編輯區(qū)域包括的每條邊界的直線方程;根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每條邊界的直線方程,獲得 所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊界相交的交點(diǎn);如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的 位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述交點(diǎn)與所述記錄的光 標(biāo)之間生成一條線段;如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的 位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所述交點(diǎn)與所述當(dāng)前光標(biāo) 之間生成一條線段。
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的 光標(biāo)的坐標(biāo)和所述每條邊界的直線方程,獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段 與所述編輯區(qū)域的邊界相交的交點(diǎn),具體包括根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述記錄的光標(biāo)的坐標(biāo),獲得所述構(gòu)成的線段的直線方程;將所述構(gòu)成的線段的直線方程與所述每條邊界的直線方程組成方程組,通過(guò)對(duì)每個(gè) 所述方程組進(jìn)行計(jì)算,獲得所述構(gòu)成的線段所在直線與每條邊界所在直線相交的交點(diǎn)的坐 標(biāo);根據(jù)所述記錄的光標(biāo)的坐標(biāo)、所述當(dāng)前光標(biāo)的坐標(biāo)和每個(gè)所述交點(diǎn)的坐標(biāo),選擇位于 所述構(gòu)成的線段中的交點(diǎn),所述選擇的交點(diǎn)為所述構(gòu)成的線段與所述編輯區(qū)域的邊界相交 的交點(diǎn)。
5.如權(quán)利要求1所述的方法,其特征在于,所述起始光標(biāo)的位置信息還包括所述起始 光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng)地,所述獲取起始光標(biāo)的位置信息,具體包括接收所述起始光標(biāo)的坐標(biāo);判斷所述起始光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫坐標(biāo)范圍和所述縱坐標(biāo)范 圍內(nèi)的值;如果是,所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如果否,所述 起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外。
6.如權(quán)利要求5所述的方法,其特征在于,所述當(dāng)前光標(biāo)的位置信息還包括所述當(dāng)前 光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng)地,所述實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息,具體包括實(shí)時(shí)接收所述當(dāng)前光標(biāo)的坐標(biāo);判斷所述當(dāng)前光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫坐標(biāo)范圍和所述縱坐標(biāo)范 圍內(nèi)的值;如果是,所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如果否,所述 當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外。
7.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記 錄的位置信息和所述相關(guān)信息,生成線段,具體包括當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的位 置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)之間生成一條線 段;當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的 位置關(guān)系不相同時(shí),則根據(jù)所述相關(guān)信息,確定出所述編輯區(qū)域包括的每條邊界的直線方 程;根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每條邊界的直線方程,獲得 所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊界相交的交點(diǎn);如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的 位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述交點(diǎn)與所述記錄的光 標(biāo)之間生成一條線段;如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與所述編輯區(qū)域的 位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所述交點(diǎn)與所述當(dāng)前光標(biāo) 之間生成一條線段。
8.如權(quán)利要求1-7任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,所述方法還包括當(dāng)接收到結(jié)束通知時(shí),則停止獲取當(dāng)前光標(biāo)的位置信息。
9.一種用于即時(shí)通信工具的圖片處理的裝置,其特征在于,所述裝置包括第一獲取模塊,用于獲取編輯區(qū)域的相關(guān)信息,所述相關(guān)信息至少包括橫坐標(biāo)范圍和 縱坐標(biāo)范圍;第二獲取模塊,用于當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息,所述位置信息至 少包括坐標(biāo),記錄所述位置信息;第三獲取模塊,用于實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息;生成模塊,用于根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記錄的位置信息和所述相關(guān)信息,生成線段,將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。
10.如權(quán)利要求9所述的裝置,其特征在于,所述第一獲取模塊具體包括 第一獲取單元,用于獲取所述編輯區(qū)域的任意一對(duì)對(duì)角點(diǎn)包括的兩個(gè)角點(diǎn)的坐標(biāo);第二獲取單元,用于根據(jù)所述兩個(gè)角點(diǎn)的坐標(biāo),獲取所述編輯區(qū)域的橫坐標(biāo)范圍和縱 坐標(biāo)范圍。
11.如權(quán)利要求9所述的裝置,其特征在于,所述生成模塊具體包括第一判斷單元,用于根據(jù)所述起始光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述起始光標(biāo) 與所述編輯區(qū)域的位置關(guān)系;第二判斷單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述相關(guān)信息,判斷出所述當(dāng)前光標(biāo) 與所述編輯區(qū)域的位置關(guān)系;第一生成單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與 所述編輯區(qū)域的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前光標(biāo) 之間生成一條線段;第一確定單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與 所述編輯區(qū)域的位置關(guān)系不相同時(shí),根據(jù)所述相關(guān)信息確定出所述編輯區(qū)域包括的每條邊 界的直線方程;第三獲取單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每條邊 界的直線方程,獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊界相 交的交點(diǎn);第二生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo) 與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述交 點(diǎn)與所述記錄的光標(biāo)之間生成一條線段;第三生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo) 與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所述交 點(diǎn)與所述當(dāng)前光標(biāo)之間生成一條線段;第一更新單元,用于將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。
12.如權(quán)利要求11所述的裝置,其特征在于,所述第三獲取單元具體包括第一獲取子單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)和所述記錄的光標(biāo)的坐標(biāo),獲得所述 構(gòu)成的線段的直線方程;第二獲取子單元,用于將所述構(gòu)成的線段的直線方程與所述每條邊界的直線方程組成 方程組,通過(guò)對(duì)每個(gè)所述方程組進(jìn)行計(jì)算,獲得所述構(gòu)成的線段所在直線與每條邊界所在 直線相交的交點(diǎn)的坐標(biāo);選擇子單元,用于根據(jù)所述記錄的光標(biāo)的坐標(biāo)、所述當(dāng)前光標(biāo)的坐標(biāo)和每個(gè)所述交點(diǎn) 的坐標(biāo),選擇位于所述構(gòu)成的線段中的交點(diǎn),所述選擇的交點(diǎn)為所述構(gòu)成的線段與所述編 輯區(qū)域的邊界相交的交點(diǎn)。
13.如權(quán)利要求9所述的裝置,其特征在于,所述起始光標(biāo)的位置信息還包括所述起始 光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng)地,所述第二獲取模塊具體包括第一接收單元,用于接收所述起始光標(biāo)的坐標(biāo);第三判斷單元,用于判斷所述起始光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫坐標(biāo)范圍和所述縱坐標(biāo)范圍內(nèi)的值;如果是,所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在 編輯區(qū)域內(nèi),如果否,所述起始光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外;記錄單元,用于記錄所述位置信息。
14.如權(quán)利要求13所述的裝置,其特征在于,所述當(dāng)前光標(biāo)的位置信息還包括所述當(dāng) 前光標(biāo)與所述編輯區(qū)域的位置關(guān)系,相應(yīng)地,所述第三獲取模塊具體包括第二接收單元,用于接收所述當(dāng)前光標(biāo)的坐標(biāo);第四判斷單元,用于判斷所述當(dāng)前光標(biāo)的橫坐標(biāo)和縱坐標(biāo)是否分別屬于所述橫坐標(biāo)范 圍和所述縱坐標(biāo)范圍內(nèi)的值;如果是,所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域內(nèi),如果否,所述 當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系為光標(biāo)在編輯區(qū)域外。
15.如權(quán)利要求14所述的裝置,其特征在于,所述生成模塊具體包括第四生成單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與 所述編輯區(qū)域的位置關(guān)系都為光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述記錄的光標(biāo)與所述當(dāng)前光標(biāo) 之間生成一條線段;第二確定單元,用于當(dāng)所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo)與 所述編輯區(qū)域的位置關(guān)系不相同時(shí),則根據(jù)所述相關(guān)信息,確定出所述編輯區(qū)域包括的每 條邊界的直線方程;第四獲取單元,用于根據(jù)所述當(dāng)前光標(biāo)的坐標(biāo)、所述記錄的光標(biāo)的坐標(biāo)和所述每條邊 界的直線方程,獲得所述記錄的光標(biāo)與所述當(dāng)前光標(biāo)構(gòu)成的線段與所述編輯區(qū)域的邊界相 交的交點(diǎn);第五生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo) 與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域外和光標(biāo)在編輯區(qū)域內(nèi)時(shí),則在所述交 點(diǎn)與所述記錄的光標(biāo)之間生成一條線段;第六生成單元,用于如果所述當(dāng)前光標(biāo)與所述編輯區(qū)域的位置關(guān)系和所述記錄的光標(biāo) 與所述編輯區(qū)域的位置關(guān)系分別為光標(biāo)在編輯區(qū)域內(nèi)和光標(biāo)在編輯區(qū)域外時(shí),則在所述交 點(diǎn)與所述當(dāng)前光標(biāo)之間生成一條線段;第二更新單元,用于將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。
全文摘要
本發(fā)明公開(kāi)了一種用于即時(shí)通信工具的圖片處理的方法及裝置,屬于計(jì)算機(jī)領(lǐng)域。所述方法包括獲取編輯區(qū)域的相關(guān)信息,所述相關(guān)信息至少包括橫坐標(biāo)范圍和縱坐標(biāo)范圍;當(dāng)接收到開(kāi)始通知時(shí),獲取起始光標(biāo)的位置信息,所述位置信息至少包括坐標(biāo),記錄所述位置信息;實(shí)時(shí)獲取當(dāng)前光標(biāo)的位置信息,根據(jù)所述當(dāng)前光標(biāo)的位置信息、所述記錄的位置信息和所述相關(guān)信息,生成線段,將所述記錄的位置信息更新為所述當(dāng)前光標(biāo)的位置信息。所述裝置包括第一獲取模塊、第二獲取模塊、第三獲取模塊和生成模塊。本發(fā)明能夠按光標(biāo)移動(dòng)的路徑畫(huà)出線條。
文檔編號(hào)G06T11/80GK102136153SQ201010102719
公開(kāi)日2011年7月27日 申請(qǐng)日期2010年1月22日 優(yōu)先權(quán)日2010年1月22日
發(fā)明者周桓宇, 王春鵬 申請(qǐng)人:騰訊科技(深圳)有限公司