1. 程式人生 > >NGUI之UILabel描邊效果

NGUI之UILabel描邊效果

專案中遇到了一些問題發現NGUI不一定能全部解決所有的問題,那麼我就提供一些我們的解決方案。
正常的NGUI中的UILabel的描邊實現方法是自己又生成了4個相同的字型分別放在原本字型的左上右上左下右下四個方向上來實現描邊效果,這點我們可以通過調節Effect中的Outline的XY來看到他的實現方式。那麼既然能看到實現方式也就是說這個描邊一旦大於2左右也就能看到用來作為描邊的背景字,這樣往往達不到我們想要的效果。下面是解決的辦法。
解決》我們使用同樣的方法,只不過我們不是生成四個字型用來作為背景顯示成描邊,而是以四個頂點間的距離來計算,每個畫素來生成一個字型。這裡不用擔心,即便生成再多的字型依然使用的是一個DrawCall,也就是一遍就能畫完,這樣我們用字來鋪平中間的欠缺,就可以達到我們需要的效果了。

相關推薦

NGUIUILabel效果

專案中遇到了一些問題發現NGUI不一定能全部解決所有的問題,那麼我就提供一些我們的解決方案。 正常的NGUI中的UILabel的描邊實現方法是自己又生成了4個相同的字型分別放在原本字型的左上右上左下右下四個方向上來實現描邊效果,這點我們可以通過調節Effect中的Outline的XY來看到他的實現方式。那麼

NGUIUILabel顏色漸變效果

1. UILabel簡介 (1)UILabel支援型別 a.圖字:是指根據某些工具,將遊戲中需要用到的文字渲染到一張紋理上,並附其紋理資訊(包括 id值,尺寸,間距等)。 b.字型檔字:是指直接載入ttf等字型檔檔案,根據從ttf檔案中讀取的資料,生成紋理並渲染。 (2

Shader旅4:outline edge 效果

書寫本文的初衷是為了自我反省記錄。如有表達不當,請批評指正 在shadertoy上看到了物體的描邊效果,感覺效果不錯,拿來學習一下,先貼出程式碼,然後分析 float d; float lookup(vec2 p, float dx, float dy) { vec2 uv = (

Unity3D 2D Sprite效果Shader,可手動調整效果適配

light position step oat fde text 等等 blog tin   最近兩個月學了很多Shader的知識,現在也算入點門了。現在網上有很多2D描邊的Shader,說實話大多數很差勁。有些多余的條件判斷影響效率,提供的參數也不夠適配所有圖片。因為美術

Android TextView 字型效果程式碼

 類繼承TextView,重寫ondraw函式。無需額外的textview做背景。以下為修改的diff檔案。 Index: ***Activity.java ============================================================

[OpenGL] 簡單的物體效果

開發環境:Qt, OpenGL         主要是為了練習glsl寫的一個小例子,本身沒有什麼難度。         思路一:進行兩次繪製。在頂點著色器中,第一次只繪製背面,將頂點沿著法線方向進行移動,可以使物體"膨脹"起來,使用描邊的純色填充,第一次渲出

unity shader 透明的效果 鏤空 空心

效果: 程式碼: // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,

Unity Shader-Command Buffer的使用(景深與效果重置版)

簡介 Command Buffer是Unity5新增的一個灰常灰常強大的功能。先祭出官方介紹和文件。我們在渲染的時候,給OpenGL或者DX的就是一系列的指令,比如glDrawElement,glClear等等,這些東西目前是引擎去呼叫的,而Unity也為我們封裝了更高一

android textView 效果

        最近在android上搞一個帶描邊效果的TextView,網上搜索了下都是採用兩個TextView在一個layout中進行實現,但細想了下,如果我在一個TextView中讓其以不同的方式進行兩次描繪不就能夠達到效果了嗎?由於網上沒有看到和我類似的方法,故發出

cocos2d-x 精靈新增效果

學習cocos2d-x 以來一直對裡面的shader部分感興趣,今天正好花了點時間來研究一下精靈的描邊效果。 主要參考了子龍山人大神的TestCpp裡面例子並結合自己的理解,實現相對比較簡單。主要是根據引擎內部自帶的shader相關程式碼來實現的。 好了廢話不多說看程式碼:

用AttributedString,來製作簡單地效果

AttributedString 的定義不多說網上很多資料,關鍵是我說了,也沒有人家說的好哈哈。 AttributedString 依然分為兩種 可變與不可變 NSAttributedString

cocos2d實現CCLabelTTF真正字型效果

在開發遊戲中,我們需要在需要在遊戲中顯示一個字型輪廓比較清晰的效果,我們就需要給字型的周圍進行描邊,讓字型顯示比較更加突出,我重寫了cclabelttf類,使它具有描邊的特效,和描邊的大小以及顏色。。。 開發人員:Jason's.Alex   QQ:531401335 cs

用css來實現文字效果

效果如圖: #text { float:left; color:#C60A12; filter:Dropshadow(offx=1,offy=0,color=#ffffff) Dropshadow(offx=0,offy=1,color=#ffffff) Dropshadow

three.js使用卷積法實現物體效果

法線延展法 網上使用法線延展法實現物體描邊效果的文章比較多,這裡不再描述。 但是這種方法有個缺點:當兩個面的法線夾角差別較大時,兩個面的描邊無法完美連線。如下圖所示:      卷積法 這裡使用另一種方法卷積法實現物體描邊效果,一般機器學習使用該方法比較多。先看效果圖: &nb

anime.js 實戰:實現一個帶有動畫效果的復選框

由於 圓角 理解 http 中心 timeline 實例 描邊 evel 在網頁或者是APP的開發中,動畫運用得當可以起到錦上添花的作用。正確使用動畫,不但可以有助於用戶理解交互的作用,還可以大大提高網頁應用的魅力和使用體驗。並且在現在的網頁開發中,動畫已經成為了一個設計的

Unity Shader 實現OutLine效果

Shader實現描邊流程大致為:對模型進行2遍(2個pass)繪製,第一遍(描邊pass)在vertex shader中對模型沿頂點法線方向放大,fragment shader設定輸出顏色為描邊顏色;第二遍正常繪製模型,除被放大的部分外,其餘被覆蓋,這樣就有了描邊的效果。

iOS UILabel文字新增實現

可以達到文字描一圈黑邊的效果: 繼承UILabel以後過載drawTextInRect: - (void)drawTextInRect:(CGRect)rect { CGSize shad

主角場景Shader效果

基本思路:Shader用兩個Pass,一個渲染描邊部分,一個渲染物體部分。 Pass1:剔除正面,渲染背面,把頂點延法線方向外圍擴充套件一定寬度,用來表現描邊的粗細,這部分用自己設定的顏色。 Pass2:剔除背面,渲染正面,正常渲染所看到的物體模型。 1 // Upgrade NOTE: re

cocos2d-x 利用CCLabelTTF製作文字與陰影效果的實現方法

感謝點評與關注,歡迎轉載與分享。勤奮努力,持之以恆! 方法一: cocos2d-x 已經為我們封裝好了,方法就在類CCLabelTTF裡面。 /** enable or disable shadow for the label */ void enableS

【小松教你手遊開發】【unity實用技能】NGUI字型

NGUI的UILabel中實現字型的描邊是通過以方形的方式對字型網格頂點偏移一定位置後作為其描邊網格。以這種方式描邊在邊角處會生硬,描邊不均勻問題,特別是在比較大的字型描邊時偏移越大這種生硬,不均勻程度越明顯。處理這種描邊一可以通過改進shader的方式來做調整,這裡我介紹林一種新的方式:以圓形方式對字型網