亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android實現圖片陰影效果的方法

2020-04-11 11:47:34
字體:
來源:轉載
供稿:網友

本文實例介紹了Android實現圖片陰影效果,設置畫布顏色,圖像傾斜效果,圖片陰影效果的方法,采用canvas.save(Canvas.MATRIX_SAVE_FLAG);來實現。由于圖片的實際尺寸比顯示出來的圖像要大一些,因此需要適當更改下大小,以達到較好的效果,在原有矩形基礎上,畫成圓角矩形,同時帶有陰影層。讀者可以根據自身需要對該程序代碼進行個性化的修改以便更符合自身項目需求。

具體實現代碼如下:

package canvas.test;import android.app.Activity;import android.os.Bundle;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.RectF;import android.graphics.drawable.Drawable;import android.view.View;public class ShaderEffect extends Activity {  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(new ImageEffect(this));  }  class ImageEffect extends View{    Paint paint;     public ImageEffect (Context context){      super(context);      paint = new Paint();//初始化畫筆,為后面陰影效果使用。      paint.setAntiAlias(true);//去除鋸齒。      paint.setShadowLayer(5f, 5.0f, 5.0f, Color.BLACK);//設置陰影層,這是關鍵。      paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));    }    @Override    public void onDraw(Canvas canvas){      super.onDraw(canvas);      int posX = 20;      int posY = 50;      int PicWidth,PicHegiht;       Drawable drawable = getResources().getDrawable(R.drawable.button);      Drawable dbe = getResources().getDrawable(R.drawable.button).mutate();//如果不調用mutate方法,則原圖也會被改變,因為調用的資源是同一個,所有對象是共享狀態的。      Drawable drawTest = getResources().getDrawable(R.drawable.button);      Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.button);      PicWidth = drawable.getIntrinsicWidth();      PicHegiht = drawable.getIntrinsicHeight();      drawTest.setBounds(posX, (2 * posY) + PicHegiht, posX + PicWidth, (2 * posY) + 2 * PicHegiht );      drawable.setBounds(posX,posY,posX+PicWidth,posY+PicHegiht);      dbe.setBounds(0, 0, PicWidth, PicHegiht);      canvas.drawColor(Color.WHITE);//設置畫布顏色      canvas.save(Canvas.MATRIX_SAVE_FLAG);      dbe.setColorFilter(0x7f000000,PorterDuff.Mode.SRC_IN);      canvas.translate(posX + (int)(0.9 * PicWidth/2), posY + PicHegiht/2);//圖像平移為了剛好在原圖后形成影子效果。      canvas.skew(-0.9F, 0.0F);//圖像傾斜效果。      canvas.scale(1.0f, 0.5f);//圖像(其實是畫布)縮放,Y方向縮小為1/2。      dbe.draw(canvas);//此處為畫原圖像影子效果圖,比原圖先畫,則會在下層。      drawable.clearColorFilter();      canvas.restore();      canvas.save(Canvas.MATRIX_SAVE_FLAG);      drawable.draw(canvas);//此處為畫原圖像,由于canvas有層次效果,因此會蓋在影子之上。      canvas.restore();      //默認無效果原圖      canvas.save(Canvas.MATRIX_SAVE_FLAG);      drawTest.draw(canvas);      canvas.restore();      //圖片陰影效果      canvas.save(Canvas.MATRIX_SAVE_FLAG);      //Rect rect = new Rect(2*posX + PicWidth, 2*posY + PicHegiht, 2*posX + 2*PicWidth, 2*posY + 2*PicHegiht);//此為理論上的陰影圖坐標      Rect rect = new Rect(2*posX + PicWidth + 3, 2*posY + PicHegiht + 3, 2*posX + 2*PicWidth - 2, 2*posY + 2*PicHegiht - 2);      //由于圖片的實際尺寸比顯示出來的圖像要大一些,因此需要適當更改下大小,以達到較好的效果      RectF rectF = new RectF(rect);      canvas.drawRoundRect(rectF, 10f, 10f, paint);//在原有矩形基礎上,畫成圓角矩形,同時帶有陰影層。      canvas.drawBitmap(bmp, 2*posX + PicWidth, 2*posY + PicHegiht, null);//畫上原圖。      canvas.restore();    }  }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品免费视频久久久| 91po在线观看91精品国产性色| 日韩一区二区欧美| 国产精品免费一区二区三区都可以| 成人在线国产精品| 亚洲男人第一av网站| 亚洲精品mp4| 日韩av在线一区| 久久精品99久久久久久久久| 欧美老女人www| 日韩av电影在线免费播放| 欧美日韩在线视频观看| zzijzzij亚洲日本成熟少妇| 精品免费在线观看| 国产精品一区久久| 成年人精品视频| 日韩亚洲精品视频| 欧美成人午夜剧场免费观看| 精品国内产的精品视频在线观看| 欧美国产高跟鞋裸体秀xxxhd| 亚洲一区二区三区xxx视频| 一区二区在线视频播放| 美女福利精品视频| 欧美资源在线观看| 欧美成aaa人片在线观看蜜臀| 亚洲欧美国产一本综合首页| 黄色成人av在线| 欧洲成人午夜免费大片| 国产视频观看一区| 久久国产精品偷| 92裸体在线视频网站| 日韩女在线观看| 久久精品视频亚洲| 国产精品日韩专区| 成人精品一区二区三区| 欧美精品在线观看91| 7777精品久久久久久| 国产美女主播一区| 精品日韩美女的视频高清| 亚洲男人天堂古典| 久久天天躁狠狠躁老女人| 成人黄色大片在线免费观看| 91免费视频国产| 日韩在线观看高清| 欧美视频免费在线观看| 中文一区二区视频| 欧美理论电影网| 欧美黑人一级爽快片淫片高清| 国产精品自拍视频| 亚洲最新视频在线| 久久av中文字幕| 久热精品视频在线免费观看| 亚洲国产精品va在线看黑人动漫| 日韩在线www| 欧美大成色www永久网站婷| 国产精品久久久久福利| 成人福利在线视频| 色中色综合影院手机版在线观看| 欧美专区在线观看| 91精品国产99久久久久久| 国产精品户外野外| 91精品国产自产在线观看永久| 亚洲精品videossex少妇| 97视频在线观看免费高清完整版在线观看| 日韩中文字幕在线| 欧美黑人一级爽快片淫片高清| 国产午夜精品麻豆| 成人妇女免费播放久久久| 欧美自拍视频在线观看| 中文字幕精品一区二区精品| 国产玖玖精品视频| 国产日韩欧美夫妻视频在线观看| 97在线日本国产| 国产在线久久久| 色无极亚洲影院| 最近2019中文字幕在线高清| 亚洲摸下面视频| 97精品久久久| 亚洲aa在线观看| 韩剧1988在线观看免费完整版| 国内揄拍国内精品| 奇米4444一区二区三区| 亚洲欧洲午夜一线一品| 午夜精品久久久99热福利| 欧美大片免费观看在线观看网站推荐| 国产精品久久久久久久久影视| 色偷偷偷亚洲综合网另类| 久久精品国产亚洲一区二区| 欧美在线视频免费播放| 日本精品久久中文字幕佐佐木| 欧美激情一区二区三区成人| 国产精品自产拍高潮在线观看| 国产精品久久不能| 丝袜亚洲另类欧美重口| 国产一区欧美二区三区| 亚洲国产精久久久久久久| 欧美国产日本高清在线| 久久久久成人精品| 一区二区三区四区视频| 欧美激情国产高清| 亚洲在线免费视频| 亚洲国产美女久久久久| 91亚洲一区精品| 久久艹在线视频| 欧美日韩性视频| 欧美日韩国产影院| 91在线观看免费高清| 亚洲激情电影中文字幕| 国产极品精品在线观看| 亚洲夜晚福利在线观看| 日韩二区三区在线| 欧美大片免费观看在线观看网站推荐| 国内偷自视频区视频综合| 91视频国产高清| 久久影视电视剧免费网站清宫辞电视| 亚洲国产成人精品女人久久久| 精品久久久在线观看| 亚洲综合小说区| 黄色成人在线播放| 久久久999精品| 91老司机在线| 欧美精品福利在线| 韩国精品久久久999| 欧美亚州一区二区三区| 亚洲国内精品视频| 国内成人精品视频| 亚洲欧美国产va在线影院| 久久久精品久久| 久久久久久免费精品| 色综合色综合网色综合| 国产精品久久久久久久app| 国产香蕉一区二区三区在线视频| 久久激情视频久久| 欧美在线一区二区视频| 久久天天躁狠狠躁夜夜躁| 亚洲精品久久视频| 最好看的2019的中文字幕视频| 久久精品视频一| 国产精品99免视看9| 欧美三级欧美成人高清www| 色偷偷噜噜噜亚洲男人| 欧美亚洲另类制服自拍| 丝袜情趣国产精品| 在线免费观看羞羞视频一区二区| 欧美激情第三页| 国产成人精品视频| 国产精品最新在线观看| 亚洲福利视频在线| 日韩精品视频在线观看免费| 亚洲精品一区中文字幕乱码| 国产精品免费一区豆花| 亚洲国产欧美日韩精品| 国产69精品久久久久久| 91国产高清在线| 欧美激情极品视频| 日韩大片免费观看视频播放| 精品电影在线观看| 91久久久久久久| 国产美女久久久| 欧美高清性猛交| 亚洲福利视频网| 色老头一区二区三区在线观看| 91av在线免费观看视频| 国产亚洲欧美一区|