肖貝多 葛厚寶 陳重安 曹登宇 陳潔 顧建榮
摘要:在傳統(tǒng)家裝中,瓷磚鋪設(shè)通常存在瓷磚樣式固定,鋪設(shè)效果不便預(yù)覽的問(wèn)題,業(yè)主參與度低,無(wú)法發(fā)揮其創(chuàng)造性。為解決這一問(wèn)題,設(shè)計(jì)了一種基于 Android 手機(jī)的、高用戶交互程度的矩形瓷磚拼接設(shè)計(jì)與展示系統(tǒng),提供了從用戶自由選擇素材、自主設(shè)計(jì)瓷磚花式及拼貼方式到預(yù)覽整體拼貼效果的一條龍完整功能。本文探討了該系統(tǒng)的總體結(jié)構(gòu)、主要功能模塊的設(shè)計(jì)過(guò)程及關(guān)鍵技術(shù)的實(shí)現(xiàn)原理。
關(guān)鍵詞: 瓷磚鋪設(shè); 用戶交互; Android平臺(tái); 圖像處理
中圖分類號(hào): TP311.52
文獻(xiàn)標(biāo)志碼: A
文章編號(hào): 2095-2163(2017)05-0119-04
Abstract: In the traditional home decoration, there are usually problems with tile paving, for example: tile style is changeless and the effect is inconvenient to preview. Owners are less engaged and can not inspire their creativity. To solve this problem, the paper proposes the independent design and display system for tile paving based on Android. The system provides a complete set of functions, from the user's free choice of material, selfdesigned tile pattern to previewing the effect of the overall paving. Based on the general analysis, this paper discusses the overall structure of the system, the design process of the main functional modules and the realization of key technologies.
Keywords: tile paving; user interaction; Android; image processing
0引言
瓷磚鋪設(shè)通常是裝修過(guò)程中極其重要的一環(huán),但傳統(tǒng)的位于家裝市場(chǎng)的,使用瓷磚實(shí)物和鋪貼樣式板進(jìn)行展示的方法存在很大的局限性。瓷磚樣式以及鋪設(shè)方式的單一和趨同無(wú)法跟上新時(shí)代業(yè)主飛速發(fā)展的創(chuàng)造力,消費(fèi)者希望把控自己家裝細(xì)節(jié)的愿望難以實(shí)現(xiàn),而樣式板受大小限制無(wú)法準(zhǔn)確預(yù)覽鋪設(shè)效果。市場(chǎng)上現(xiàn)存的解決類似問(wèn)題的軟件大多沒(méi)有做到功能完善、操作簡(jiǎn)單,對(duì)普通用戶友好。因此本文研發(fā)設(shè)計(jì)了一種功能相對(duì)完整的矩形瓷磚拼接設(shè)計(jì)與展示系統(tǒng),旨在重點(diǎn)改進(jìn)上述問(wèn)題。現(xiàn)對(duì)其探討論述如下。
1研究背景
在當(dāng)代,居室環(huán)境空間不僅要體現(xiàn)現(xiàn)代感,又要顯現(xiàn)藝術(shù)性,作為當(dāng)代居室裝飾裝修重要材料之一的瓷磚制品具有獨(dú)特的功能性、藝術(shù)性特點(diǎn),以其自身特有的材質(zhì)表現(xiàn)力和藝術(shù)感染力,在家居裝飾中扮演著重要的角色[1]。但是在實(shí)際家裝過(guò)程中,瓷磚鋪設(shè)的多樣性、創(chuàng)新性、自由性都被現(xiàn)實(shí)條件所束縛。商家或裝修公司人員一般是通過(guò)現(xiàn)場(chǎng)展示或商品圖冊(cè)的方式進(jìn)行產(chǎn)品介紹,并根據(jù)家裝者的實(shí)際需求輔以計(jì)算來(lái)推薦合適的備選產(chǎn)品,由于場(chǎng)地空間的限制,進(jìn)行現(xiàn)場(chǎng)展示的瓷磚種類及鋪設(shè)方案僅能趨于簡(jiǎn)化[2]。業(yè)主通過(guò)觀看樣式板難以想象整體鋪設(shè)效果,而且單一的樣式板也壓制了用戶自主設(shè)計(jì)和在家裝中追求多樣性的現(xiàn)實(shí)可能?,F(xiàn)今,瓷磚樣式趨于多元化。瓷磚在造型上也不再局限于方形與長(zhǎng)方形、菱形、多角形,甚至于更為復(fù)雜的造型應(yīng)運(yùn)而生,可以在四塊磚中鑲拼活潑的小花磚,或靈活運(yùn)用多角磚拼出抽象的造形圖案,藝術(shù)拼圖瓷磚以其獨(dú)出心裁的魅力盡現(xiàn)個(gè)性風(fēng)采[3]。更重要的是,新時(shí)代的業(yè)主充滿豐富的創(chuàng)造力,希望把握家裝細(xì)節(jié),創(chuàng)造屬于自己的居室風(fēng)格。通過(guò)自行設(shè)計(jì)瓷磚花色、創(chuàng)意花色組合以及與眾不同的拼貼方式都可以創(chuàng)造出個(gè)人風(fēng)格強(qiáng)烈的家居。而手機(jī)軟件以其便攜、便于操作等獨(dú)特的優(yōu)越性,成為解決上述問(wèn)題的不二之選。市場(chǎng)需要一款直觀清晰、易上手、好操作的手機(jī)軟件,讓用戶可以實(shí)現(xiàn)自由選擇素材、自主設(shè)計(jì)瓷磚花式及拼貼方式,最后預(yù)覽整體拼貼效果?,F(xiàn)存的類似軟件大多存在功能不完整、用戶交互程度低,沒(méi)有給用戶留出足夠的創(chuàng)作空間等問(wèn)題。因此亟需針對(duì)這些問(wèn)題給出有效解決策略。
2系統(tǒng)設(shè)計(jì)
Android 是由 Google主導(dǎo)開(kāi)發(fā)的基于 Linux 的開(kāi)源手機(jī)開(kāi)發(fā)平臺(tái),由操作系統(tǒng)、中間件、用戶界面和應(yīng)用程序組成,是一套真正意義上的開(kāi)放性移動(dòng)設(shè)備綜合平臺(tái),并且其開(kāi)放性保證了該平臺(tái)不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙[4]。開(kāi)發(fā)人員在該平臺(tái)上開(kāi)發(fā)的應(yīng)用程序需要使用 Java 語(yǔ)言來(lái)編寫(xiě),開(kāi)放的體系架構(gòu)形成了優(yōu)良的開(kāi)發(fā)和調(diào)試環(huán)境,支持各種可擴(kuò)展的用戶體驗(yàn),具有非常豐富的圖形系統(tǒng)及對(duì)多媒體的強(qiáng)大支持功能[5]。因此本次研究選擇基于 Android來(lái)展開(kāi)瓷磚拼接設(shè)計(jì)與展示系統(tǒng)的開(kāi)發(fā)。本系統(tǒng)的詳細(xì)功能劃分如圖1所示。
3重點(diǎn)模塊
[BT5]3.1獲取素材模塊
在主界面上定義可選功能復(fù)合組件,包括從云端獲取圖片、通過(guò)拍照獲取圖片、通過(guò)相冊(cè)獲取三個(gè)部分。以通過(guò)相冊(cè)獲取為例,用戶選擇后首先向安卓系統(tǒng)請(qǐng)求權(quán)限,得到允許后打開(kāi)系統(tǒng)圖庫(kù)的活動(dòng),進(jìn)行圖片選取。選取后返回圖片地址到主活動(dòng)中,為獲取從圖庫(kù)選擇的圖片路徑進(jìn)行設(shè)置。本模塊設(shè)計(jì)流程如圖2所示,實(shí)例如圖3所示。
本模塊通過(guò)圖像的二維幾何變換,旋轉(zhuǎn)單個(gè)瓷磚塊,從而改變整體拼貼效果,并展示。人工輸入行列值可改變鋪設(shè)效果。實(shí)例如圖4所示。endprint
此模塊開(kāi)發(fā)過(guò)程如下:
1)定義瓷磚類,為最小單元,包括索引值、當(dāng)前角度、位圖等屬性。
2)取屏寬作為整個(gè)鋪設(shè)區(qū)域的高度和寬度,通過(guò)輸入框獲取行列數(shù)(或默認(rèn)值),確認(rèn)單個(gè)瓷磚塊區(qū)域的寬度,載入數(shù)據(jù)。
3)在畫(huà)布上建立坐標(biāo)系,利用索引值以及單個(gè)瓷磚項(xiàng)的寬度,給每個(gè)瓷磚項(xiàng)賦坐標(biāo)值,放置每個(gè)瓷磚項(xiàng)。
4)設(shè)置瓷磚項(xiàng)的點(diǎn)擊事件監(jiān)聽(tīng)器,當(dāng)某個(gè)項(xiàng)監(jiān)聽(tīng)到點(diǎn)擊事件時(shí),調(diào)用旋轉(zhuǎn)單個(gè)項(xiàng)的方法。其中旋轉(zhuǎn)方法是通過(guò)opencv提供的矩陣類庫(kù),將位圖轉(zhuǎn)化成opencv提供的矩陣類實(shí)例化對(duì)象,對(duì)該矩陣進(jìn)行矩陣變換,再將變換結(jié)束后的矩陣轉(zhuǎn)化成位圖,載入每個(gè)單元項(xiàng)。使用安卓自帶的matrix同樣可實(shí)現(xiàn)類似功能,但是opencv提供了十分強(qiáng)大的圖像處理工具庫(kù),具有優(yōu)越性。同時(shí)制作旋轉(zhuǎn)動(dòng)畫(huà)效果。為了便于用戶直觀地觀測(cè)到旋轉(zhuǎn)過(guò)程,符合使用習(xí)慣,添加旋轉(zhuǎn)動(dòng)畫(huà)到旋轉(zhuǎn)方法內(nèi)。
3.3存儲(chǔ)與預(yù)覽模塊
本系統(tǒng)主界面提供了保存及預(yù)覽所有曾經(jīng)完成的設(shè)計(jì)的功能,點(diǎn)擊后可以從上次制作停止位置開(kāi)始繼續(xù)制作。同時(shí),在保存時(shí)可以自定義設(shè)計(jì)的名字。自定義的偏好助手類封裝了讀取和存儲(chǔ)單條數(shù)據(jù)的方法,數(shù)據(jù)和唯一標(biāo)識(shí)通過(guò)鍵值對(duì)一一對(duì)應(yīng)。其中,行列數(shù)、圖片素材地址、標(biāo)題、角度等都是鍵。同時(shí),在全局類中將要保存的變量全局化。實(shí)例如圖5所示。
測(cè)試系統(tǒng)的步驟如下:
1)運(yùn)行系統(tǒng),主界面如圖6所示。
2)點(diǎn)擊選取素材按鈕,選擇從相冊(cè)選取,打開(kāi)本地相冊(cè),選取素材,如圖7所示。
3)點(diǎn)擊瓷磚單元,實(shí)現(xiàn)旋轉(zhuǎn)功能,根據(jù)自己的實(shí)際需要進(jìn)行設(shè)計(jì),如圖8所示。
4)在輸入框中更改行列數(shù),實(shí)現(xiàn)不同的拼接效果,如圖9所示。
5)完成設(shè)計(jì),選擇保存,自定義標(biāo)題,確認(rèn)后返回主界面,主界面出現(xiàn)已完成設(shè)計(jì)的條目,點(diǎn)擊該條目后可從剛才結(jié)束的地方繼續(xù)設(shè)計(jì),如圖10所示。
5結(jié)束語(yǔ)
針對(duì)家裝市場(chǎng)瓷磚鋪設(shè)領(lǐng)域存在的展示難、花樣少、業(yè)主難以參與自行設(shè)計(jì)等問(wèn)題,研發(fā)完成了基于 Android 手機(jī)的、高用戶交互程度的矩形瓷磚拼接設(shè)計(jì)與展示系統(tǒng),提供了從
[LL]用戶自由選擇素材、自主設(shè)計(jì)瓷磚花式及拼貼方式到預(yù)覽整體拼貼效果的完整功能。本系統(tǒng)未來(lái)將添加聯(lián)網(wǎng)模塊和手繪模塊。聯(lián)網(wǎng)模塊分為到網(wǎng)絡(luò)獲取素材以及將最終設(shè)計(jì)效果圖分享到社交軟件兩個(gè)部分,手繪模塊允許用戶自行繪制瓷磚圖樣,滿足用戶多方面的要求。
參考文獻(xiàn)
王懷忠. 居室設(shè)計(jì)中瓷磚的藝術(shù)形式研究[D]. 景德鎮(zhèn):景德鎮(zhèn)陶瓷學(xué)院,2011.
[2] 石蘊(yùn)玉,曹登宇,陳潔,等. 基于Android的矩形瓷磚拼接展示系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[J]. 福建電腦,2016(6):35-36.
[3] 佚名. 家裝瓷磚風(fēng)格與個(gè)性[J]. 大眾標(biāo)準(zhǔn)化,2004(11):36.
[4] 詹成國(guó),朱偉,徐敏. 基于 Android 的測(cè)控裝置人機(jī)界面的設(shè)計(jì)與開(kāi)發(fā)[J]. 電力自動(dòng)化設(shè)備,2012,32(1):119-122.
[5] 李楊,馮剛,李亮,等. 基于 Android 的多媒體應(yīng)用開(kāi)發(fā)與研究[J]. 計(jì)算機(jī)與現(xiàn)代化,2011 (4):149-152.
[6] 張建源. Android開(kāi)發(fā)技術(shù)的學(xué)習(xí)及應(yīng)用[J]. 現(xiàn)代工業(yè)經(jīng)濟(jì)和信息化,2014(6):62-64.[ZK)][FL)]endprint