欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種截圖方法及裝置的制造方法

文檔序號:10569629閱讀:222來源:國知局
一種截圖方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種截圖方法,包括:生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后得到的圖片;將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的調(diào)整比例調(diào)整圖片顯示控件的大??;確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,并從所述原圖中截取所述框選區(qū)域。本發(fā)明還公開了一種截圖裝置。
【專利說明】
一種截圖方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種截圖方法及裝置。
【背景技術(shù)】
[0002] Android(安卓)是一種基于Linux的自由及開放的源代碼的操作系統(tǒng),現(xiàn)已經(jīng)大規(guī) 模的應(yīng)用在智能手機、平板電腦等智能設(shè)備上。Android應(yīng)用中經(jīng)常會有用戶選擇圖片進行 顯示或上傳網(wǎng)絡(luò),但是用戶選擇的原始圖片可能并不符合用戶自己的要求,用戶可能只需 要圖片的一部分進行顯示或上傳,因此需要對顯示的圖片進行裁切。
[0003] ImageView是Android系統(tǒng)中提供的一種用于圖片顯示的控件,ImageView支持截 屏功能,可以針對顯示的圖片進行截屏,但是所截得圖片不能保持原有圖片的質(zhì)量,即所截 得圖片的分辨率與顯示該圖片的設(shè)備有關(guān),通常不能使所截得圖片保持原圖分辨率。

【發(fā)明內(nèi)容】

[0004] 有鑒于此,本發(fā)明實施例的主要目的在于提供一種截圖方法及裝置,可以使截取 的圖片保持原圖分辨率。
[0005] 為實現(xiàn)上述目的,本發(fā)明實施例提供了一種截圖方法,包括:
[0006] 生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后得到的圖片;
[0007] 將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的調(diào)整比例調(diào)整圖片顯 示控件的大?。?br>[0008] 確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,并從所述原圖中截取所述 框選區(qū)域。
[0009] 可選的,所述生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后得到的圖 片,包括:
[0010] 按照預(yù)設(shè)的初始縮放比例對原圖進行調(diào)整后得到第一圖片,并顯示所述第一圖 片;
[0011]獲取用戶結(jié)束手動操作所述第一圖片后得到的第二圖片,所述手動操作包括縮放 操作和/或上下平移操作。
[0012] 可選的,所述按照預(yù)設(shè)的初始縮放比例對原圖進行調(diào)整后得到第一圖片,包括:
[0013] 使所述原圖與所述圖片顯示控件的框選區(qū)域同軸放置;
[0014] 保持所述原圖的左上角位置不變,使所述原圖按照縮放比例ScaleO進行縮放,以 得到縮放后的第一圖片;
[0015] Scale0=Math.max(Vw/0w,Vh/0h);
[0016] 其中,0w和Oh分別為所述原圖的寬和高,Vw和Vh分別為所述圖片顯示控件的框選 區(qū)域的寬和高。
[0017] 可選的,所述確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,包括:
[0018] 計算調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,具體按照下面公式計算所 述框選區(qū)域的寬Fw和高Fh:
[0019] Fw=Math.min(0w-Math.max(Sx,0) ,Vw/scaleF+Math.min(Sx,0));
[0020] Fh=Math.min(Oh-Math.max(Sy ,0) ,Vh/scaleF+Math.min(Sy ,0));
[0021] 其中,scaleF為從所述原圖到所述第二圖片的縮放比例;
[0022] Sx為一個矢量,從所述原圖的左邊框到所述原圖的右邊框的方向為Sx的正方向, 所述原圖的左邊框與調(diào)整后的圖片顯示控件的左邊框之間的長度為Sx的大??;
[0023] Sy為一個矢量,從所述原圖的上邊框到所述原圖的下邊框的方向為Sy的正方向, 所述原圖的上邊框與調(diào)整后的圖片顯示控件的上邊框之間的長度為Sy的大小。
[0024]可選的,所述Sx和所述Sy的計算公式分別為:
[0026] 其中,Dx0 = (0w_Vw)/2,DyO = (0h_Vh)/2;
[0027] Dxi為一個矢量,當(dāng)i = 1、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的左邊框到所述當(dāng)前圖片的右邊框的方向為Dxi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dxi的 大小;
[0028] Dyi為一個矢量,當(dāng)i = l、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的上邊框到所述當(dāng)前圖片的下邊框的方向為Dyi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dyi的 大??;
[0029] Scalej是第j次縮放所述第一圖片相對于第j-1次縮放所述第一圖片的縮放比例。
[0030] 本發(fā)明實施例還提供了一種截圖裝置,包括:
[0031] 圖片生成單元,用于生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后得到 的圖片;
[0032] 圖片還原單元,用于將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的 調(diào)整比例調(diào)整圖片顯示控件的大??;
[0033] 區(qū)域確定單元,用于確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域;
[0034]圖片截取單元,用于從所述原圖中截取所述框選區(qū)域。
[0035]可選的,所述圖片生成單元,包括:
[0036]初始顯示模塊,用于按照預(yù)設(shè)的初始縮放比例對原圖進行調(diào)整后得到第一圖片, 并顯示所述第一圖片;
[0037]圖片獲取模塊,用于獲取用戶結(jié)束手動操作所述第一圖片后得到的第二圖片,所 述手動操作包括縮放操作和/或上下平移操作。
[0038]可選的,所述初始顯示模塊,包括:
[0039] 同軸放置子模塊,用于使所述原圖與所述圖片顯示控件的框選區(qū)域同軸放置;
[0040] 初始縮放子模塊,用于保持所述原圖的左上角位置不變,使所述原圖按照縮放比 例ScaleO進行縮放,以得到縮放后的第一圖片;
[0041 ] Scale0=Math.max(Vw/0w,Vh/0h);
[0042]其中,Ow和Oh分別為所述原圖的寬和高,Vw和Vh分別為所述圖片顯示控件的框選 區(qū)域的寬和高。
[0043] 可選的,所述區(qū)域確定單元,具體用于計算調(diào)整后的圖片顯示控件在所述原圖中 的框選區(qū)域,具體按照下面公式計算所述框選區(qū)域的寬Fw和高Fh:
[0044] Fw=Math.min(0w-Math.max(Sx,0) ,Vw/scaleF+Math.min(Sx,0));
[0045] Fh=Math.min(Oh-Math.max(Sy ,0) ,Vh/scaleF+Math.min(Sy ,0));
[0046] 其中,scaleF為從所述原圖到所述第二圖片的縮放比例;
[0047] Sx為一個矢量,從所述原圖的左邊框到所述原圖的右邊框的方向為Sx的正方向, 所述原圖的左邊框與調(diào)整后的圖片顯示控件的左邊框之間的長度為Sx的大小;
[0048] Sy為一個矢量,從所述原圖的上邊框到所述原圖的下邊框的方向為Sy的正方向, 所述原圖的上邊框與調(diào)整后的圖片顯示控件的上邊框之間的長度為Sy的大小。
[0049]可選的,所述Sx和所述Sy的計算公式分別為:
[0051 ]其中,Dx0 = (0w_Vw)/2,DyO = (0h_Vh)/2;
[0052] Dxi為一個矢量,當(dāng)i = l、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的左邊框到所述當(dāng)前圖片的右邊框的方向為Dxi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dxi的 大小;
[0053] Dyi為一個矢量,當(dāng)i = l、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的上邊框到所述當(dāng)前圖片的下邊框的方向為Dyi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dyi的 大??;
[0054] Scalej是第j次縮放所述第一圖片相對于第j-1次縮放所述第一圖片的縮放比例。
[0055] 本發(fā)明實施例提供的截圖方法及裝置,生成用戶對原圖的顯示比例和顯示位置進 行最后調(diào)整后得到的圖片;將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的調(diào) 整比例調(diào)整圖片顯示控件的大小;確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域, 并從所述原圖中截取所述框選區(qū)域??梢?,通過將生成的圖片還原為原圖本身,同時按照還 原比例對圖片顯示控件進行調(diào)整,使得利用調(diào)整后的圖片顯示控件截取的圖片部分即原圖 本身中的圖片部分,這樣就可以使截取的圖片保持原圖分辨率。
【附圖說明】
[0056] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明 的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 這些附圖獲得其他的附圖。
[0057]圖1為本發(fā)明實施例提供的截圖方法的流程示意圖;
[0058]圖2為本發(fā)明實施例提供的原圖與控件的顯示示意圖;
[0059]圖3為本發(fā)明實施例提供的第一圖片與控件的顯示示意圖;
[0060]圖4為本發(fā)明實施例提供的框選區(qū)域示意圖之一;
[0061]圖5為本發(fā)明實施例提供的框選區(qū)域示意圖之二;
[0062]圖6為本發(fā)明實施例提供的框選區(qū)域示意圖之三;
[0063]圖7為本發(fā)明實施例提供的截圖裝置的組成示意圖。
【具體實施方式】
[0064]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0065]參見圖1,為本發(fā)明實施例提供的截圖方法的流程示意圖,該方法包括:
[0066] 步驟101:生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后得到的圖片。
[0067] 當(dāng)用戶想要截取某原圖中的部分圖片進行顯示或上傳網(wǎng)絡(luò)時,首先需要將該原圖 以某種形式顯示在截圖設(shè)備(所述截圖設(shè)備可以是手機、平板等設(shè)備)的截圖界面上,同時, 圖片顯示控件比如ImageViewUndroid系統(tǒng)提供的圖片顯示控件)的框選區(qū)域也顯示在截 圖界面上,用戶通過對顯示的圖片進行操作,將圖片中自己想要截取的部分置于圖片顯示 控件的框選區(qū)域內(nèi),當(dāng)用戶觸發(fā)截圖指令(比如用戶點擊截圖界面上的截圖按鈕)后,截圖 設(shè)備便會截取圖片顯示控件所框選的全部或部分圖片。
[0068] 由于原圖本身尺寸可能過大或過小,因此可以預(yù)設(shè)原圖的初始顯示方式,并使原 圖以該初始顯示方式顯示在截圖界面上,將以該初始顯示方式顯示的原圖定義為第一圖 片,然后,用戶可以根據(jù)自己的截圖需求,調(diào)整(比如,當(dāng)截圖設(shè)備是智能手機時,可以采用 觸屏調(diào)整,當(dāng)截圖設(shè)備是電腦時,可以采用鼠標(biāo)調(diào)整)所述第一圖片的顯示比例和顯示位 置,具體可以通過縮放所述第一圖片調(diào)整所述第一圖片的顯示比例和/或通過上下平移所 述第一圖片調(diào)整所述第一圖片的顯示位置,經(jīng)過對所述第一圖片的一次或多次調(diào)整后得到 第二圖片,最終將所述第二圖片中用戶想要截取的部分置于所述圖片顯示控件的框選區(qū)域 內(nèi),以便截圖設(shè)備截取所述框選區(qū)域內(nèi)的原圖部分。
[0069] 具體地,步驟101可以包括步驟101A和步驟101B:
[0070]步驟101A:按照預(yù)設(shè)的初始縮放比例對原圖進行調(diào)整后得到第一圖片,并顯示所 述第一圖片。
[0071] 用戶可以在截圖界面上從相冊或其它存儲位置中調(diào)取某原圖,當(dāng)截圖設(shè)備檢測到 調(diào)取信號后,便使圖片顯示控件的框選區(qū)域與該原圖同軸放置,然后,根據(jù)預(yù)設(shè)的初始縮放 比例對原圖進行初始調(diào)整,并將調(diào)整后得到的第一圖片顯示在截圖界面上。
[0072] 其中,所述第一圖片的比例與所述原圖的比例相同,根據(jù)所述原圖的寬高比例與 所述圖片顯示控件的寬高比例,所述第一圖片的寬高為以下三種方式之一:
[0073] 1、所述第一圖片的寬與所述圖片顯示控件的寬相同且所述第一圖片的高小于所 述圖片顯示控件的高。比如,假設(shè)圖片顯示控件的寬高為100X 100且原圖的寬高為200 X 100,則對原圖進行調(diào)整后得到的第一圖片的左上角位置不變且寬高為100X50。
[0074] 2、所述第一圖片的高與所述圖片顯示控件的高相同且所述第一圖片的寬小于所 述圖片顯示控件的寬。比如,假設(shè)圖片顯示控件的寬高為100X 100且原圖的寬高為100 X 200,則對原圖進行調(diào)整后得到的第一圖片的左上角位置不變且寬高為50X100。
[0075] 3、所述第一圖片的寬高與所述圖片顯示控件的寬高相同。比如,假設(shè)圖片顯示控 件的寬高為100X100且原圖的寬高為200X200,則對原圖進行調(diào)整后得到的第一圖片的左 上角位置不變且寬高為100X100。
[0076]在一些實施方式中,為實現(xiàn)上述三種顯示方式,在步驟101A中對原圖進行調(diào)整后 得到第一圖片,可以包括:使所述原圖與所述圖片顯示控件的框選區(qū)域同軸放置;保持所述 原圖的左上角位置不變,使所述原圖按照縮放比例ScaleO進行縮放,以得到縮放后的第一 圖片;Seale0 =Math.max(Vw/0w,Vh/0h);其中,0w和Oh分別為所述原圖的寬和高,Vw和Vh分 別為所述圖片顯示控件的框選區(qū)域的寬和高。
[0077] 其中,Math.max(Vw/0w,Vh/0h)的含義是從(Vw/0w,Vh/0h)中選取最大值。
[0078] 可見,本發(fā)明實施例可以根據(jù)應(yīng)用需求,靈活的設(shè)置原圖在所述截圖界面中的初 始顯示方式,如設(shè)置圖片寬高比限制、圖片寬高設(shè)置等,具體可以依據(jù)原圖寬高和所述圖片 顯示控件的寬高計算原圖的初始縮放比例ScaleO。
[0079]下面舉例說明這種實施方式。
[0080] 假設(shè)原圖的寬0w = 200、原圖的高0h = 200,圖片顯示控件的寬Vw=100、圖片顯示 控件的高Vh = 100。
[0081]首先,將原圖和圖片顯示控件同軸放置,如圖2所示的原圖與控件的顯示示意圖。 [0082] 然后,計算原圖的初始縮放比例ScaleO = Math.max( Vw/0w,Vh/0h) = 1/2,使原圖 寬高縮小到原來的1/2,以得到縮小后的第一圖片,第一圖片的寬和高均為100,在截圖界面 上顯示第一圖片,如圖3所示的第一圖片與控件的顯示示意圖。
[0083]步驟101B:獲取用戶結(jié)束手動操作所述第一圖片后得到的第二圖片,所述手動操 作包括縮放操作和/或上下平移操作。
[0084]對于以初始顯示方式顯示在截圖界面上的第一圖片,為了能夠?qū)⒌谝粓D片中用戶 想要截取的部分置于所述圖片顯示控件的框選區(qū)域內(nèi),用戶通常需要通過一次或多次調(diào)整 所述第一圖片的顯示位置和顯示比例,使自己想要截取的部分置于框選區(qū)域內(nèi),在本實施 方式中,將結(jié)束調(diào)整所述第一圖片后得到的圖片記為第二圖片。
[0085]本發(fā)明實施例通過監(jiān)聽用戶的屏幕觸摸動作,將其分解成圖片縮放動作和圖片平 移動作,并計算并記錄每次縮放動作的縮放比例和平移動作的平移距離,根據(jù)記錄的平移 距離進行圖片平移,根據(jù)記錄的縮放比例對圖片進行縮放。
[0086]為了實現(xiàn)縮放和平移,所述圖片顯示控件具有縮放手勢捕捉接口 OnScale Gesture Listener和觸摸回調(diào)接口OnTouch Listener。當(dāng)截圖設(shè)備檢測到用戶對圖片顯示 控件框選區(qū)域所在的屏幕進行觸摸時,會先回調(diào)OnTouch Listener的OnTouch接口,當(dāng)截圖 設(shè)備檢測到用戶縮放顯示的圖片時,會在OnTouch接口中回調(diào)OnScale Gesture Listener 的OnScale接口,進行圖片縮放。
[0087]步驟102:將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的調(diào)整比例調(diào) 整圖片顯示控件的大小。
[0088]對于經(jīng)步驟101B調(diào)整后得到的第二圖片,保持第二圖片的中心位置不變,計算第 二圖片與原圖之間的比例,依據(jù)該比例,將第二圖片放大或縮小到原圖本身的大小,同時, 也保持圖片顯示控件框選區(qū)域的中心位置不變,按照對所述第二圖片的調(diào)整比例放大或縮 小所述圖片顯示控件的框選區(qū)域。此時,所述圖片顯示控件所框選的部分就是原圖本身的 截圖范圍。
[0089] 步驟103:確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,并從所述原圖中 截取所述框選區(qū)域。
[0090] 本發(fā)明實施例是在原圖上進行截圖的,為了能夠從原圖中截取所述圖片顯示控件 所框選的原圖區(qū)域,需要根據(jù)記錄的對所述第一圖片的一系列縮放比例和平移距離計算出 所要裁切的原圖區(qū)域,并將計算出的原圖區(qū)域保存成圖片輸出。
[0091] 為了實現(xiàn)步驟103,需要確定所述框選區(qū)域的左上角位置以及所述框選區(qū)域的寬 度和高度,以便從原圖中截取所述框選區(qū)域。具體地,步驟103中所述確定調(diào)整后的圖片顯 示控件在所述原圖中的框選區(qū)域,可以包括:
[0092] 計算調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,具體按照下面公式計算所 述框選區(qū)域的寬Fw和高Fh:
[0093] Fw=Math.min(0w-Math.max(Sx,0) ,Vw/scaleF+Math.min(Sx,0));
[0094] Fh=Math.min(Oh-Math.max(Sy ,0) ,Vh/scaleF+Math.min(Sy ,0));
[0095]其中,Ow和Oh分別為所述原圖的寬和高;
[0096] Vw和Vh分別為調(diào)整前的圖片顯示控件的框選區(qū)域的寬和高。
[0097] scaleF為從所述原圖到所述第二圖片的縮放比例,假設(shè)對原圖進行了N次縮放操 作,scaleF就是將N次縮放操作分別對應(yīng)的縮放比例進行相乘得到的,即ScaleF = ScaleO* Scalel*."*ScaleN;
[0098] Sx為一個矢量,從所述原圖的左邊框到所述原圖的右邊框的方向為Sx的正方向, 所述原圖的左邊框與調(diào)整后的圖片顯示控件的左邊框之間的長度為Sx的大?。?br>[0099] Sy為一個矢量,從所述原圖的上邊框到所述原圖的下邊框的方向為Sy的正方向, 所述原圖的上邊框與調(diào)整后的圖片顯示控件的上邊框之間的長度為Sy的大小。
[0100]其中,所述Sx和所述Sy的計算公式分別為:
[0102] 其中,Dx0 = (0w_Vw)/2,DyO = (0h_Vh)/2;
[0103] Dxi為一個矢量,當(dāng)i = l、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的左邊框到所述當(dāng)前圖片的右邊框的方向為Dxi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dxi的 大??;
[0104] Dy i為一個矢量,當(dāng)i = 1、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的上邊框到所述當(dāng)前圖片的下邊框的方向為Dyi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dyi的 大?。?br>[0105] Scalej是第j次縮放所述第一圖片相對于第j-1次縮放所述第一圖片的縮放比例。 [0106] 下面舉例說明步驟103。
[0107] 參見圖3,首先按照下述公式計算DxO和DyO:
[0108] Dx0 = (0w-Vw)/2 ,DyO = (0h~Vh)/2 ;
[0109] DxO和DyO是矢量,第一圖片的左邊框與圖片顯示控件框選區(qū)域的左邊框之間的距 離是DxO的大小,第一圖片的左邊框到第一圖片的右邊框的方向是DxO的正方向;第一圖片 的上邊框與圖片顯示控件框選區(qū)域的上邊框之間的距離是DyO的大小,第一圖片的上邊框 到第一圖片的下邊框的方向是DyO的正方向。
[0110] 用戶每次對第一圖片進行縮放操作時,記錄當(dāng)前的縮放比例Dxi,每次進行縮放操 作或平移操作時,記錄本次操作結(jié)束后對應(yīng)的Dxi和Dyi,結(jié)束對第一圖片的操作后得到第 二圖片,當(dāng)將第二圖片還原為原圖本身、且將圖片顯示控件按照對第二圖片的還原比例進 行縮放后,計算圖片顯示控件所框選的原圖區(qū)域的左上角位置Sx和Sy。
[0111] 在計算調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域時,所述框選區(qū)域的寬度 范圍Fw和高度范圍Fh的計算公式分別為:
[0112] Fw=Math.min(0w-Math.max(Sx,0) ,Vw/scaleF+Math.min(Sx,0));
[0113] Fh=Math.min(0h_Math.max(Sy ,0),Vh/scaleF+Math.min(Sy ,0)) 〇
[0114] 現(xiàn)以原圖與調(diào)整后的圖片顯示控件的不同位置關(guān)系(寬度的不同位置關(guān)系)來說 明本發(fā)明實施例。
[0115] 參見圖4所示的框選區(qū)域示意圖之一,當(dāng)圖片顯示控件的框選區(qū)域左上角位于原 圖內(nèi)、且圖片顯示控件右邊部分位于原圖的外面時,此時Sx和Sy均為正數(shù),則Fw=Math.min (0w_Sx,Vw/scaleF),F(xiàn)h=Math .min(0h-Sy,Vh/scaleF),由于Vw/scaleF代表經(jīng)步驟 102后 得到的圖片顯示控件框選區(qū)域的寬度,所以〇w-Sx<Vw/scaleF,因此Fw = 0w_Sx,同理,由于 Vh/scaleF代表經(jīng)步驟102后得到的圖片顯示控件框選區(qū)域的高度,所以0h-Sy>Vh/ scaleF,因此Fh = Vh/scaleF。
[0116] 參見圖5所示的框選區(qū)域示意圖之二,當(dāng)圖片顯示控件的整個框選區(qū)域位于原圖 內(nèi)時,此時Sx和Sy均為正數(shù),則Fw = Math.min(0w-Sx,Vw/scaleF),F(xiàn)h = Math.min(0h-Sy, Vh/scaleF),由于Vw/scaleF代表經(jīng)步驟102后得到的圖片顯示控件框選區(qū)域的寬度,所以 0w_Sx>Vw/scaleF,因此Fw = Vw/scaleF,同理,由于Vh/scaleF代表經(jīng)步驟102后得到的圖 片顯示控件框選區(qū)域的高度,所以0h_ Sy> Vh/scaleF,因此Fh = Vh/scaleF。
[0117] 參見圖6所示的框選區(qū)域示意圖之三,當(dāng)圖片顯示控件的框選區(qū)域左上角位于原 圖外,即圖片顯示控件左邊部分位于原圖的外面時,此時Sx為負數(shù),Sy為正數(shù),則Fw = Math .min(0w, Vw/scaleF- | Sx | ),F(xiàn)h=Math.min(0h_Sy,Vh/scaleF),由于Vw/scaleF代表經(jīng) 步驟102后得到的圖片顯示控件框選區(qū)域的寬度,所以0w>Vw/scaleF- | Sx |,因此Fw = Vw/ scaleF-| Sx |,同理,由于Vh/scaleF代表經(jīng)步驟102后得到的圖片顯示控件框選區(qū)域的高 度,所以〇h_ Sy> Vh/scaleF,因此Fh = Vh/scaleF。
[0118]本發(fā)明實施例提供的截圖方法,生成用戶對原圖的顯示比例和顯示位置進行最后 調(diào)整后得到的圖片;將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的調(diào)整比例 調(diào)整圖片顯示控件的大小;確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,并從所 述原圖中截取所述框選區(qū)域??梢?,通過將生成的圖片還原為原圖本身,同時按照還原比例 對圖片顯示控件進行調(diào)整,使得利用調(diào)整后的圖片顯示控件截取的圖片部分即原圖本身中 的圖片部分,這樣就可以使截取的圖片保持原圖分辨率。
[0119] 參見圖7,為本發(fā)明實施例提供的截圖裝置的組成示意圖,包括:
[0120] 圖片生成單元701,用于生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后 得到的圖片;
[0121] 圖片還原單元702,用于將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片 的調(diào)整比例調(diào)整圖片顯示控件的大?。?br>[0122] 區(qū)域確定單元703,用于確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域;
[0123] 圖片截取單元704,用于從所述原圖中截取所述框選區(qū)域。
[0124] 在一些實施方式中,所述圖片生成單元701,包括:
[0125] 初始顯示模塊,用于按照預(yù)設(shè)的初始縮放比例對原圖進行調(diào)整后得到第一圖片, 并顯示所述第一圖片;
[0126] 圖片獲取模塊,用于獲取用戶結(jié)束手動操作所述第一圖片后得到的第二圖片,所 述手動操作包括縮放操作和/或上下平移操作。
[0127] 在一些實施方式中,所述初始顯示模塊,包括:
[0128] 同軸放置子模塊,用于使所述原圖與所述圖片顯示控件的框選區(qū)域同軸放置;
[0129] 初始縮放子模塊,用于保持所述原圖的左上角位置不變,使所述原圖按照縮放比 例ScaleO進行縮放,以得到縮放后的第一圖片;
[0130] Scale0=Math.max(Vw/0w,Vh/0h);
[0131]其中,0w和Oh分別為所述原圖的寬和高,Vw和Vh分別為所述圖片顯示控件的框選 區(qū)域的寬和高。
[0132] 在一些實施方式中,所述區(qū)域確定單元703,具體用于計算調(diào)整后的圖片顯示控件 在所述原圖中的框選區(qū)域,具體按照下面公式計算所述框選區(qū)域的寬Fw和高Fh:
[0133] Fw=Math.min(0w-Math.max(Sx,0) ,Vw/scaleF+Math.min(Sx,0));
[0134] Fh=Math.min(Oh-Math.max(Sy ,0) ,Vh/scaleF+Math.min(Sy ,0));
[0135] 其中,scaleF為從所述原圖到所述第二圖片的縮放比例;
[0136] Sx為一個矢量,從所述原圖的左邊框到所述原圖的右邊框的方向為Sx的正方向, 所述原圖的左邊框與調(diào)整后的圖片顯示控件的左邊框之間的長度為Sx的大小;
[0137] Sy為一個矢量,從所述原圖的上邊框到所述原圖的下邊框的方向為Sy的正方向, 所述原圖的上邊框與調(diào)整后的圖片顯示控件的上邊框之間的長度為Sy的大小。
[0138]在一些實施方式中,所述Sx和所述Sy的計算公式分別為:
[0140]其中,Dx0 = (0w_Vw)/2,DyO = (0h_Vh)/2;
[0141 ] Dxi為一個矢量,當(dāng)i = 1、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的左邊框到所述當(dāng)前圖片的右邊框的方向為Dxi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dxi的 大??;
[0142] Dyi為一個矢量,當(dāng)i = l、2、……n時,若將第i次對所述第一圖片進行調(diào)整后得到 的圖片記為當(dāng)前圖片,則從所述當(dāng)前圖片的上邊框到所述當(dāng)前圖片的下邊框的方向為Dyi 的正方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dyi的 大小;
[0143] Scalej是第j次縮放所述第一圖片相對于第j-1次縮放所述第一圖片的縮放比例。
[0144] 通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施 例方法中的全部或部分步驟可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的 理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式 體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干 指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者諸如媒體網(wǎng)關(guān)等網(wǎng)絡(luò)通信 設(shè)備,等等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
[0145] 需要說明的是,對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng), 所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
[0146] 還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個 實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間 存在任何這種實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵 蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要 素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備 所固有的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在 包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0147] 對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的 一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明 將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一 致的最寬的范圍。
【主權(quán)項】
1. 一種截圖方法,其特征在于,包括: 生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后得到的圖片; 將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的調(diào)整比例調(diào)整圖片顯示控 件的大??; 確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,并從所述原圖中截取所述框選 區(qū)域。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成用戶對原圖的顯示比例和顯示位 置進行最后調(diào)整后得到的圖片,包括: 按照預(yù)設(shè)的初始縮放比例對原圖進行調(diào)整后得到第一圖片,并顯示所述第一圖片; 獲取用戶結(jié)束手動操作所述第一圖片后得到的第二圖片,所述手動操作包括縮放操作 和/或上下平移操作。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述按照預(yù)設(shè)的初始縮放比例對原圖進行 調(diào)整后得到第一圖片,包括: 使所述原圖與所述圖片顯示控件的框選區(qū)域同軸放置; 保持所述原圖的左上角位置不變,使所述原圖按照縮放比例ScaleO進行縮放,以得到 縮放后的第一圖片; ScaleO=Math.max(Vw/0w,Vh/0h); 其中,Ow和Oh分別為所述原圖的寬和高,Vw和Vh分別為所述圖片顯示控件的框選區(qū)域 的寬和高。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定調(diào)整后的圖片顯示控件在所述原 圖中的框選區(qū)域,包括: 計算調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域,具體按照下面公式計算所述框 選區(qū)域的寬Fw和高Fh: Fw=Math.min(Ow-Math.max(Sx,0) ,Vw/scaleF+Math.min(Sx,0)); Fh=Math.min(Oh-Math.max(Sy ,0) ,Vh/scaleF+Math.min(Sy ,0)); 其中,scaleF為從所述原圖到所述第二圖片的縮放比例; Sx為一個矢量,從所述原圖的左邊框到所述原圖的右邊框的方向為Sx的正方向,所述 原圖的左邊框與調(diào)整后的圖片顯示控件的左邊框之間的長度為Sx的大??; Sy為一個矢量,從所述原圖的上邊框到所述原圖的下邊框的方向為Sy的正方向,所述 原圖的上邊框與調(diào)整后的圖片顯示控件的上邊框之間的長度為Sy的大小。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述Sx和所述Sy的計算公式分別為:其中,Dx0= (0w_Vw)/2,DyO= (0h_Vh)/2; Dxi為一個矢量,當(dāng)i = l、2、……η時,若將第i次對所述第一圖片進行調(diào)整后得到的圖 片記為當(dāng)前圖片,則從所述當(dāng)前圖片的左邊框到所述當(dāng)前圖片的右邊框的方向為Dxi的正 方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dxi的大??; Dyi為一個矢量,當(dāng)i = l、2、……η時,若將第i次對所述第一圖片進行調(diào)整后得到的圖 片記為當(dāng)前圖片,則從所述當(dāng)前圖片的上邊框到所述當(dāng)前圖片的下邊框的方向為Dyi的正 方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dyi的大?。?Scalej是第j次縮放所述第一圖片相對于第j-Ι次縮放所述第一圖片的縮放比例。6. -種截圖裝置,其特征在于,包括: 圖片生成單元,用于生成用戶對原圖的顯示比例和顯示位置進行最后調(diào)整后得到的圖 片; 圖片還原單元,用于將生成的圖片調(diào)回到所述原圖的大小,并按照對生成圖片的調(diào)整 比例調(diào)整圖片顯示控件的大??; 區(qū)域確定單元,用于確定調(diào)整后的圖片顯示控件在所述原圖中的框選區(qū)域; 圖片截取單元,用于從所述原圖中截取所述框選區(qū)域。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述圖片生成單元,包括: 初始顯示模塊,用于按照預(yù)設(shè)的初始縮放比例對原圖進行調(diào)整后得到第一圖片,并顯 示所述第一圖片; 圖片獲取模塊,用于獲取用戶結(jié)束手動操作所述第一圖片后得到的第二圖片,所述手 動操作包括縮放操作和/或上下平移操作。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述初始顯示模塊,包括: 同軸放置子模塊,用于使所述原圖與所述圖片顯示控件的框選區(qū)域同軸放置; 初始縮放子模塊,用于保持所述原圖的左上角位置不變,使所述原圖按照縮放比例 ScaleO進行縮放,以得到縮放后的第一圖片; ScaleO=Math.max(Vw/0w,Vh/0h); 其中,Ow和Oh分別為所述原圖的寬和高,Vw和Vh分別為所述圖片顯示控件的框選區(qū)域 的寬和高。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述區(qū)域確定單元,具體用于計算調(diào)整后 的圖片顯示控件在所述原圖中的框選區(qū)域,具體按照下面公式計算所述框選區(qū)域的寬Fw和 尚Fh: Fw=Math.min(Ow-Math.max(Sx,0) ,Vw/scaleF+Math.min(Sx,0)); Fh=Math.min(Oh-Math.max(Sy ,0) ,Vh/scaleF+Math.min(Sy ,0)); 其中,scaleF為從所述原圖到所述第二圖片的縮放比例; Sx為一個矢量,從所述原圖的左邊框到所述原圖的右邊框的方向為Sx的正方向,所述 原圖的左邊框與調(diào)整后的圖片顯示控件的左邊框之間的長度為Sx的大?。? Sy為一個矢量,從所述原圖的上邊框到所述原圖的下邊框的方向為Sy的正方向,所述 原圖的上邊框與調(diào)整后的圖片顯示控件的上邊框之間的長度為Sy的大小。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述Sx和所述Sy的計算公式分別為:其中,Dx0= (0w_Vw)/2,DyO= (0h_Vh)/2; Dxi為一個矢量,當(dāng)i = l、2、……η時,若將第i次對所述第一圖片進行調(diào)整后得到的圖 片記為當(dāng)前圖片,則從所述當(dāng)前圖片的左邊框到所述當(dāng)前圖片的右邊框的方向為Dxi的正 方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dxi的大??; Dyi為一個矢量,當(dāng)i = l、2、……η時,若將第i次對所述第一圖片進行調(diào)整后得到的圖 片記為當(dāng)前圖片,則從所述當(dāng)前圖片的上邊框到所述當(dāng)前圖片的下邊框的方向為Dyi的正 方向,所述當(dāng)前圖片的左邊框與調(diào)整前的圖片顯示控件的左邊框之間的長度為Dyi的大小; Scalej是第j次縮放所述第一圖片相對于第j-Ι次縮放所述第一圖片的縮放比例。
【文檔編號】G06F3/0488GK105930052SQ201610232434
【公開日】2016年9月7日
【申請日】2016年4月14日
【發(fā)明人】周淵斐
【申請人】北京搜狐新媒體信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
白河县| 龙胜| 濮阳县| 托克托县| 泉州市| 淄博市| 丰镇市| 安阳县| 万山特区| 元朗区| 长阳| 富蕴县| 淮阳县| 寿宁县| 阿城市| 西丰县| 白河县| 安泽县| 大化| 娄烦县| 同德县| 永顺县| 长阳| 宜君县| 广南县| 海南省| 田林县| 石门县| 丘北县| 肇源县| 波密县| 许昌县| 城市| 大渡口区| 惠东县| 游戏| 桃园市| 渝北区| 禹城市| 黎川县| 郯城县|