肖貝多 葛厚寶 陳重安 曹登宇 陳潔 顧建榮



摘要:在傳統家裝中,瓷磚鋪設通常存在瓷磚樣式固定,鋪設效果不便預覽的問題,業主參與度低,無法發揮其創造性。為解決這一問題,設計了一種基于 Android 手機的、高用戶交互程度的矩形瓷磚拼接設計與展示系統,提供了從用戶自由選擇素材、自主設計瓷磚花式及拼貼方式到預覽整體拼貼效果的一條龍完整功能。本文探討了該系統的總體結構、主要功能模塊的設計過程及關鍵技術的實現原理。
關鍵詞: 瓷磚鋪設; 用戶交互; Android平臺; 圖像處理
中圖分類號: TP311.52
文獻標志碼: A
文章編號: 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引言
瓷磚鋪設通常是裝修過程中極其重要的一環,但傳統的位于家裝市場的,使用瓷磚實物和鋪貼樣式板進行展示的方法存在很大的局限性。瓷磚樣式以及鋪設方式的單一和趨同無法跟上新時代業主飛速發展的創造力,消費者希望把控自己家裝細節的愿望難以實現,而樣式板受大小限制無法準確預覽鋪設效果。市場上現存的解決類似問題的軟件大多沒有做到功能完善、操作簡單,對普通用戶友好。因此本文研發設計了一種功能相對完整的矩形瓷磚拼接設計與展示系統,旨在重點改進上述問題。現對其探討論述如下。
1研究背景
在當代,居室環境空間不僅要體現現代感,又要顯現藝術性,作為當代居室裝飾裝修重要材料之一的瓷磚制品具有獨特的功能性、藝術性特點,以其自身特有的材質表現力和藝術感染力,在家居裝飾中扮演著重要的角色[1]。但是在實際家裝過程中,瓷磚鋪設的多樣性、創新性、自由性都被現實條件所束縛。商家或裝修公司人員一般是通過現場展示或商品圖冊的方式進行產品介紹,并根據家裝者的實際需求輔以計算來推薦合適的備選產品,由于場地空間的限制,進行現場展示的瓷磚種類及鋪設方案僅能趨于簡化[2]。業主通過觀看樣式板難以想象整體鋪設效果,而且單一的樣式板也壓制了用戶自主設計和在家裝中追求多樣性的現實可能。現今,瓷磚樣式趨于多元化。瓷磚在造型上也不再局限于方形與長方形、菱形、多角形,甚至于更為復雜的造型應運而生,可以在四塊磚中鑲拼活潑的小花磚,或靈活運用多角磚拼出抽象的造形圖案,藝術拼圖瓷磚以其獨出心裁的魅力盡現個性風采[3]。更重要的是,新時代的業主充滿豐富的創造力,希望把握家裝細節,創造屬于自己的居室風格。通過自行設計瓷磚花色、創意花色組合以及與眾不同的拼貼方式都可以創造出個人風格強烈的家居。而手機軟件以其便攜、便于操作等獨特的優越性,成為解決上述問題的不二之選。市場需要一款直觀清晰、易上手、好操作的手機軟件,讓用戶可以實現自由選擇素材、自主設計瓷磚花式及拼貼方式,最后預覽整體拼貼效果。現存的類似軟件大多存在功能不完整、用戶交互程度低,沒有給用戶留出足夠的創作空間等問題。因此亟需針對這些問題給出有效解決策略。
2系統設計
Android 是由 Google主導開發的基于 Linux 的開源手機開發平臺,由操作系統、中間件、用戶界面和應用程序組成,是一套真正意義上的開放性移動設備綜合平臺,并且其開放性保證了該平臺不存在任何以往阻礙移動產業創新的專有權障礙[4]。開發人員在該平臺上開發的應用程序需要使用 Java 語言來編寫,開放的體系架構形成了優良的開發和調試環境,支持各種可擴展的用戶體驗,具有非常豐富的圖形系統及對多媒體的強大支持功能[5]。因此本次研究選擇基于 Android來展開瓷磚拼接設計與展示系統的開發。本系統的詳細功能劃分如圖1所示。
3重點模塊
[BT5]3.1獲取素材模塊
在主界面上定義可選功能復合組件,包括從云端獲取圖片、通過拍照獲取圖片、通過相冊獲取三個部分。以通過相冊獲取為例,用戶選擇后首先向安卓系統請求權限,得到允許后打開系統圖庫的活動,進行圖片選取。選取后返回圖片地址到主活動中,為獲取從圖庫選擇的圖片路徑進行設置。本模塊設計流程如圖2所示,實例如圖3所示。
本模塊通過圖像的二維幾何變換,旋轉單個瓷磚塊,從而改變整體拼貼效果,并展示。人工輸入行列值可改變鋪設效果。實例如圖4所示。endprint
此模塊開發過程如下:
1)定義瓷磚類,為最小單元,包括索引值、當前角度、位圖等屬性。
2)取屏寬作為整個鋪設區域的高度和寬度,通過輸入框獲取行列數(或默認值),確認單個瓷磚塊區域的寬度,載入數據。
3)在畫布上建立坐標系,利用索引值以及單個瓷磚項的寬度,給每個瓷磚項賦坐標值,放置每個瓷磚項。
4)設置瓷磚項的點擊事件監聽器,當某個項監聽到點擊事件時,調用旋轉單個項的方法。其中旋轉方法是通過opencv提供的矩陣類庫,將位圖轉化成opencv提供的矩陣類實例化對象,對該矩陣進行矩陣變換,再將變換結束后的矩陣轉化成位圖,載入每個單元項。使用安卓自帶的matrix同樣可實現類似功能,但是opencv提供了十分強大的圖像處理工具庫,具有優越性。同時制作旋轉動畫效果。為了便于用戶直觀地觀測到旋轉過程,符合使用習慣,添加旋轉動畫到旋轉方法內。
3.3存儲與預覽模塊
本系統主界面提供了保存及預覽所有曾經完成的設計的功能,點擊后可以從上次制作停止位置開始繼續制作。同時,在保存時可以自定義設計的名字。自定義的偏好助手類封裝了讀取和存儲單條數據的方法,數據和唯一標識通過鍵值對一一對應。其中,行列數、圖片素材地址、標題、角度等都是鍵。同時,在全局類中將要保存的變量全局化。實例如圖5所示。
測試系統的步驟如下:
1)運行系統,主界面如圖6所示。
2)點擊選取素材按鈕,選擇從相冊選取,打開本地相冊,選取素材,如圖7所示。
3)點擊瓷磚單元,實現旋轉功能,根據自己的實際需要進行設計,如圖8所示。
4)在輸入框中更改行列數,實現不同的拼接效果,如圖9所示。
5)完成設計,選擇保存,自定義標題,確認后返回主界面,主界面出現已完成設計的條目,點擊該條目后可從剛才結束的地方繼續設計,如圖10所示。
5結束語
針對家裝市場瓷磚鋪設領域存在的展示難、花樣少、業主難以參與自行設計等問題,研發完成了基于 Android 手機的、高用戶交互程度的矩形瓷磚拼接設計與展示系統,提供了從
[LL]用戶自由選擇素材、自主設計瓷磚花式及拼貼方式到預覽整體拼貼效果的完整功能。本系統未來將添加聯網模塊和手繪模塊。聯網模塊分為到網絡獲取素材以及將最終設計效果圖分享到社交軟件兩個部分,手繪模塊允許用戶自行繪制瓷磚圖樣,滿足用戶多方面的要求。
參考文獻
王懷忠. 居室設計中瓷磚的藝術形式研究[D]. 景德鎮:景德鎮陶瓷學院,2011.
[2] 石蘊玉,曹登宇,陳潔,等. 基于Android的矩形瓷磚拼接展示系統設計與開發[J]. 福建電腦,2016(6):35-36.
[3] 佚名. 家裝瓷磚風格與個性[J]. 大眾標準化,2004(11):36.
[4] 詹成國,朱偉,徐敏. 基于 Android 的測控裝置人機界面的設計與開發[J]. 電力自動化設備,2012,32(1):119-122.
[5] 李楊,馮剛,李亮,等. 基于 Android 的多媒體應用開發與研究[J]. 計算機與現代化,2011 (4):149-152.
[6] 張建源. Android開發技術的學習及應用[J]. 現代工業經濟和信息化,2014(6):62-64.[ZK)][FL)]endprint