java文字特效
立體效果的文字
主要使用了Graphics類中的setFont和setColor的方法,繪制多層字然后加上平移一個坐標即可實現多重疊加的效果,讓人看起來就像是立體一樣,詳情請見源碼
陰影效果的文字
和面一樣,只是平移的方式有些不同,詳情請見源碼
傾斜效果的文字
主要使用的時Graphics2D類的shear方法,使繪圖上下文傾斜,詳情見源碼
public abstract void shear(double shx,double shy)其中shx表示在正x軸方向移動坐標的乘數,可以作為其y坐標的函數
漸變效果的文字
主要使用了Graphics2D中的setPaint的方法,詳情請見源碼
public abstract void setPaint(Paint paint)paint封裝了漸變顏色的Paint對象
其中Paint對象的創建是由GradientPaint初始化的,其中的構造函數如下:GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2)
會變色的文字
這個主要使用了多線程的方式實現的,用多線程改變Color方法中的RGB的值,用Random在指定范圍內任意取值然后組成了不同的顏色,詳情請見源碼
水印文字特效(源碼)
水印文字主要通過改變了文字的透明度實現的,將文字繪制在圖片上,然后改變圖片的透明度,主要使用了Graphaics2D中的setComposite方法,定義如下:
public abstract void setComposite(Composite comp),其中Comp是AlphaComposite對象,可以使用以下兩種方式創建
AlphaComposite alpha=AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.3f)獲得一個SRC_OVER規則的對象
AlphaComposite alpha=AlphaComposite.SC_OVER.driver(0.3f)同上
動態繪制文本(源碼)
主要使用BufferedReader緩沖流從指定文件中讀取一個字符,然后使用線程一個一個的繪制在畫板上,中間sleep了400ms,這樣就能展示出動態的效果,還使用了System類的getProperty方法獲得項目的路徑,以下提供了兩種方法讀取文件,更多的讀取方法請看我的博客文章
BufferedReader read=new BufferedReader(new FileReader(pathname))
BufferedReader read=new BufferedReader(new InputStreamReader(in))
由于都是比較簡單的代碼,這里不再貼出來le,有想要看的朋友,請點擊上面的源碼
本人博客
總結
- 上一篇: 页面获取Spring Security登
- 下一篇: css 中图片旋转,倾斜,位移,平滑