freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于安卓的繪圖軟件開發(fā)與設(shè)計(jì)論文(存儲(chǔ)版)

  

【正文】 梯度渲染,ComposeShader則是一個(gè)混合的渲染,可以和其它幾個(gè)子類組合起來(lái)使用。在MyPaint中會(huì)有橢圓形的筆觸,而RadialGradient只能創(chuàng)建圓形的漸變效果,為了有橢圓形漸變效果筆觸,我們可以將使用RadialGradient繪制出來(lái)的圓形進(jìn)行寬度上的壓縮,形成橢圓圖形。 = 0。(0, radius*(1aspect_ratio))。:圖 Android版本與MyPaint版本的筆觸對(duì)比圖 ,由于不是完全遵循MyPaint中的平滑漸變函數(shù),而采用多個(gè)線性漸變替代,會(huì)導(dǎo)致部分過度不是很平滑。下面將主要介紹與MyPaintBrush不同的地方。 } Android assets 目錄介紹和應(yīng)用Android系統(tǒng)為每個(gè)程序提供了assets目錄,這個(gè)目錄內(nèi)的文件可以保持在打包的程序里[13]。2. 調(diào)用Assetmanager的open(String fileName, int accessMode)方法則指定讀取的文件以及訪問模式就能得到輸入流InputStream。 在解析Json文件時(shí),我們需要?jiǎng)?chuàng)建JSONObject對(duì)象,將assets文件夾下的筆刷格式以String類型讀入,調(diào)用JSONObject中g(shù)etDouble(String keyname)、getJSONObject(String keyname)、getJSONArray(String keyname)等方法將筆刷內(nèi)的數(shù)據(jù)保存到相應(yīng)數(shù)組中去。有了繪圖引擎,下一章將對(duì)繪圖程序的界面部分開發(fā)進(jìn)行介紹。因此推薦在XML中定義UI界面。在此布局中的子元素里與位置相關(guān)的屬性將生效。在此布局中的子元素可以相互重疊。(5) 幀布局 幀布局(FrameLayout)是五大布局中最簡(jiǎn)單的一個(gè)布局,子元素放在布局文件的左上方,后面的子元素覆蓋在前面的子元素的上面,將前面的子元素部分遮擋住,但我們可以通過重力屬性來(lái)更改位置。將每個(gè)筆刷添加進(jìn)布局文件,每個(gè)筆刷使用ImageView帶表示,android:src屬性設(shè)置該筆刷的圖標(biāo)資源,將該ImageView的background設(shè)置為我們之前創(chuàng)建背景選擇器。3. 重載View的onDraw方法,用onDraw傳入的Canvas對(duì)象繪制出供用戶選擇顏色的顏色環(huán)和讓用戶確認(rèn)該顏色的實(shí)心圓。實(shí)現(xiàn)過程如下:1. 繼承Android系統(tǒng)的SeekBar類,實(shí)現(xiàn)名為Slider的類。本文使用相對(duì)布局來(lái)。拖動(dòng)條允許用戶拖動(dòng)滑塊來(lái)改變值。 顏色數(shù)組設(shè)置如下: private final int[] mColors = new int[] {0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00, 0xFFFFFF00, 0xFFFF0000}。主要代碼如下:?xml version= encoding=utf8 ? selector xmlns:android= item !普通狀態(tài) android:state_pressed=false android:drawable=drawable/ brush1_background_normal / item !按下狀態(tài) android:state_pressed=true android:drawable=drawable/ brush1_background _pressed / /selector2. XML創(chuàng)建線性布局,并設(shè)置相應(yīng)屬性。這樣的設(shè)計(jì)使得每個(gè)TableRow里的子元素都相當(dāng)于表格中的單元格一樣。在此布局中的子元素的android:layout_x和android:layout_y屬性將生效,用于描述該子元素的坐標(biāo)位置。線性布局還可以對(duì)單獨(dú)的子元素指定weight,它用于描述該子元素在剩余空間中占有的大小比例。 筆刷選擇模塊Android中生成用戶界面主要有兩種方式:直接用代碼生成和編寫XML布局文件。雖然Android平臺(tái)上主要開發(fā)API為JAVA語(yǔ)言進(jìn)行開發(fā),但是Android在繪制圖像和對(duì)Bitmap中的數(shù)據(jù)進(jìn)行處理時(shí),是調(diào)用的C/C++的Skia圖形庫(kù),所以對(duì)于這一部分的性能損失是很微小的。在“opaque”中還包含兩個(gè)鍵值對(duì),一個(gè)是以“base_value”為鍵的對(duì)應(yīng)一個(gè)浮點(diǎn)型數(shù)值,另一個(gè)以“input”為鍵包含一個(gè)數(shù)組對(duì)象。Assets文件夾里面的文件都是一些原始格式的文件,需要通過AssetManager以字節(jié)流的形式將文件內(nèi)容讀入到內(nèi)存中。代碼如下:public static MyPaintBrush getBrush(){ if (mbrush == null) mbrush = new MyPaintBrush()。本節(jié)將創(chuàng)建名為MyBrush的類,根據(jù)MyPaintBrush的結(jié)構(gòu)去改寫成我們所需要的結(jié)構(gòu)。4. 將渲染好的Bitmap繪制到我們的主畫布中。Matrix m = new Matrix()。 (localRadialGradient)。d越大透明度漸變?cè)酱?,?dāng)小于hardness時(shí)成2次方漸變,當(dāng)大于hardness時(shí),幾乎成線性漸變。 draw_dab()和get_color()方法的實(shí)現(xiàn)由于沒有直接使用MyPaint的原生的庫(kù),我們需要使用Android應(yīng)用層的API去模擬出類似MyPaint筆觸的效果。 Surface類的設(shè)計(jì):圖 Surface結(jié)構(gòu)圖在Surface中各個(gè)成員變量和方法的意義如下:1. bitmap為Bitmap類型的成員變量,用于保存我們繪制的圖像數(shù)據(jù)。b) MotionEvent. ACTION_MOVE表示當(dāng)前手指在View區(qū)域進(jìn)行移動(dòng)。本文將創(chuàng)建Surface的類來(lái)代替MyPaint中的MyPaintFixedTiledSurface,Surface繼承自Android中View控件,使用Bitmap類來(lái)維護(hù)畫布數(shù)據(jù),由于不使用OpenMP多線程技術(shù),取消掉基于tile繪制筆觸的機(jī)制。并介紹了MyPaint是如何利用OpenMP多線程編程技術(shù)來(lái)提高繪制筆觸的性能。下面將介紹MyPaint是如何進(jìn)行顏色混合。 在get_color時(shí)會(huì)根據(jù)筆觸所包含tile的位置,將渲染筆觸的參數(shù)從OperationQueue中彈出。另一個(gè)作用是獲取畫布中當(dāng)前筆觸所在區(qū)域中畫布顏色的平均值,并根據(jù)需要將其應(yīng)用到下個(gè)筆觸的繪制中。a) step_dx、step_dy、step_dpressure表示需要當(dāng)前筆觸的x、y坐標(biāo)和筆壓。在一些PC桌面設(shè)備中,會(huì)有一些手繪板設(shè)備,當(dāng)用戶在繪畫過程中,會(huì)向系統(tǒng)提供當(dāng)前用戶繪畫時(shí)筆的壓力感應(yīng)參數(shù)。:圖 橢圓形筆觸的繪畫效果 本節(jié)主要介紹了MyPaint的基本渲染單元——筆觸,以及它是如何被定義的。計(jì)算橢圓形筆觸透明度的偽代碼如下: cs = cos(angle/360*2*pi)。:圖 hardness與opaque關(guān)系圖 ,d表示離筆觸中心點(diǎn)的距離,筆觸的透明度隨著離中心點(diǎn)的距離平方的變化呈兩段線性減小的改變。 RngDouble是一個(gè)隨機(jī)數(shù)生成器。4. offset_by_random:?jiǎn)蝹€(gè)筆觸的位置隨機(jī)偏移量。它被定義為一個(gè)函數(shù)指針,其函數(shù)原型為:int mypaint_surface_draw_dab(MyPaintSurface *self, float x, float y, float radius, float color_r, float color_g, float color_b, float opaque, float hardness, float alpha_eraser, float aspect_ratio, float angle, float lock_alpha, float colorize )。 :圖 MyPaintFixedTiledSurface數(shù)據(jù)抽象形式b) _MyPaintTiledSurface _MyPaintTiledSurface的職責(zé)為響應(yīng)外部請(qǐng)求。圖 MyPaint常見的一些筆刷效果: MyPaint筆刷引擎主要結(jié)構(gòu)體介紹在MyPaint筆刷引擎中,含有兩個(gè)主要的結(jié)構(gòu),一個(gè)為MyPaintBrush,它負(fù)責(zé)更新當(dāng)前筆刷參數(shù)和加載新的筆刷參數(shù),另一個(gè)為MyPaintFixedTiledSurface,它主要維護(hù)當(dāng)前繪畫區(qū)域中數(shù)據(jù)。 BroadcastReceiverBroadcastReceiver是用于接收廣播的模塊,廣播是一種同時(shí)通知多個(gè)對(duì)象的事件通知機(jī)制[6]。調(diào)用后,此時(shí)的Activity位于Activity棧的棧頂。他具有自己的生命周期。b) 暫停狀態(tài):當(dāng)Activity被另一個(gè)透明或者Dialog樣式的Activity覆蓋部分遮擋時(shí),此時(shí)它依然和窗口管理器相連,系統(tǒng)會(huì)繼續(xù)維護(hù)其內(nèi)部狀態(tài),但是他已失去焦點(diǎn),不能進(jìn)行UI交互。由于Activity是整個(gè)Android幾大組件中最重要的一個(gè),下面將進(jìn)行詳細(xì)介紹。這其中包括客戶端、短信、日歷、地圖、瀏覽器、聯(lián)系人管理程序等等。b) Window Manager:管理Android系統(tǒng)中的所有窗口程序。 Android應(yīng)用程序在Android RunTime中執(zhí)行,其運(yùn)行時(shí)分為核心庫(kù)和優(yōu)化過的Java虛擬機(jī)Dalvik。d) OpenGL|ES:根據(jù)OpenGL ES ,該庫(kù)可以將硬件的3D功能進(jìn)行最佳化處理和現(xiàn)實(shí),能夠很好的使用硬件加速或者優(yōu)化后的軟件加速。2浙江大學(xué)碩士學(xué)位論文 第2章Error! No text of specified style in document.第2章 Android平臺(tái)整體結(jié)構(gòu)分析為了進(jìn)行Android平臺(tái)上的軟件開發(fā),就必須要對(duì)Android平臺(tái)的架構(gòu)和各大組建進(jìn)行分析,本章會(huì)對(duì)主要組件逐個(gè)進(jìn)行分析。隨著Android的越來(lái)越流行和完善,且市場(chǎng)上已經(jīng)出現(xiàn)很多支持筆的壓力感應(yīng)的設(shè)備,可以更好的模擬自然繪畫。 課題意義繪圖軟件,是一種利用現(xiàn)代技術(shù)來(lái)仿真?zhèn)鹘y(tǒng)繪畫筆刷效果的模擬自然繪畫的軟件[2]。Android操作系統(tǒng)后來(lái)逐漸地拓展到平板電腦及其他領(lǐng)域上。本文所做的研究工作主要在以下幾個(gè)方面:1. 將開源繪圖軟件MyPaint的筆刷引擎以Java語(yǔ)言重寫并移植到Android平臺(tái),并以此引擎進(jìn)行本文的Android繪圖軟件的開發(fā)??紤]到Android繪圖軟件的開發(fā)價(jià)值和很好的應(yīng)用前景,本文主要研究基于Android移動(dòng)平臺(tái)的繪圖軟件開發(fā)。s painting process, at last it will generate video file which is MP4 format.3. Analysis the principle and method of low level ponent development in Android and discusses one of c/c + + development technology by using JNI method.4. Of the painting software for Android development is realized.Key Words:Android,MyPaint, FFMPEG, NDK, Painting Software VI浙江大學(xué)碩士學(xué)位論文 圖目錄目錄摘要 iAbstract ii目錄 III圖目錄 V第1章 緒論 1 課題背景及意義 1 課題背景 1 課題意義 1 論文主要內(nèi)容 2 本章小結(jié) 2第2章 Android平臺(tái)整體結(jié)構(gòu)分析 3 Android系統(tǒng)架構(gòu) 3 Android應(yīng)用組件 6 6 Activity 6 Service 10 BroadcastReceiver 10 本章小結(jié) 10第3章 MyPaint筆刷引擎原理簡(jiǎn)介 11 MyPaint介紹 11 MyPaint筆刷引擎主要結(jié)構(gòu)體介紹 11 MyPaintFixedTiledSurface結(jié)構(gòu)介紹 11 MyPaintBrush 結(jié)構(gòu)介紹 14 MyPaint筆刷引擎工作原理 16 MyPaint的基本繪制單位——筆觸 16 筆刷引擎的工作流程 19 本章小結(jié) 24第4章 MyPaint筆刷引擎的Android版本移植 25 Android版本改寫原因 25 MyPaintFixedTiledSurface的移植 25 View介紹 25 Surface類的設(shè)計(jì) 26 MyPaintBrush類的改寫 29 實(shí)現(xiàn)結(jié)果分析對(duì)比 32 本章小結(jié) 33第5章 繪圖軟件應(yīng)用界面開發(fā)設(shè)計(jì)與實(shí)現(xiàn) 34 繪圖軟件的功能模塊 34 筆刷選擇模塊 34 顏色選取模塊設(shè)計(jì) 37 筆刷屬性調(diào)節(jié)模塊設(shè)計(jì) 38 繪圖Act
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1