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

首頁 > 系統 > Android > 正文

Android編程中圖片特效處理方法小結

2020-04-11 11:20:36
字體:
來源:轉載
供稿:網友

本文實例總結了Android編程中圖片特效處理方法。分享給大家供大家參考,具體如下:

這里介紹的Android圖片處理方法包括:

轉換 -  drawable To  bitmap
縮放 -  Zoom
圓角 -  Round Corner
倒影 -  Reflected

bitmapPrcess  code:

package com.learn.games; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.LinearGradient; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.Bitmap.Config; import android.graphics.PorterDuff.Mode; import android.graphics.Shader.TileMode; import android.graphics.drawable.Drawable; public class bitmapProcess {   // zoom   public static Bitmap zoomBitmap(Bitmap bitmap, int w, int h){     int width = bitmap.getWidth();     int height = bitmap.getHeight();     Matrix matrix = new Matrix();     float scaleWidth = w/(float)width;     float scaleHeight = h/(float)height;     matrix.postScale(scaleWidth, scaleHeight);     Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);     return bitmap2;      }   // drawable to bitmap   public static Bitmap drawable2Bitmap(Drawable drawable){     int width = drawable.getIntrinsicHeight();     int height = drawable.getIntrinsicHeight();     Bitmap bitmap = Bitmap.createBitmap(width, height, drawable.getOpacity()        != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);     Canvas canvas = new Canvas(bitmap);     drawable.setBounds(0, 0, width, height);     drawable.draw(canvas);     return bitmap;   }   // Round Corner Bitmap   public static Bitmap getRoundCornerBitmap(Bitmap bitmap, float roundPX){     int width = bitmap.getWidth();     int height = bitmap.getHeight();     Bitmap bitmap2 = Bitmap.createBitmap(width, height, Config.ARGB_8888);     Canvas canvas = new Canvas(bitmap2);     final int color = 0xff424242;     final Paint paint = new Paint();     final Rect rect = new Rect(0, 0, width, height);     final RectF rectF = new RectF(rect);     paint.setColor(color);     paint.setAntiAlias(true);     canvas.drawARGB(0, 0, 0, 0);     canvas.drawRoundRect(rectF, roundPX, roundPX, paint);     paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));     canvas.drawBitmap(bitmap, rect, rect, paint);     return bitmap2;   }   // Reflect Bitmap   public static Bitmap createReflectedBitmap(Bitmap bitmap){     final int reflectedGap = 4;     int width = bitmap.getWidth();     int height = bitmap.getHeight();     Matrix matrix = new Matrix();     matrix.preScale(1, -1);     Bitmap reflectedImage = Bitmap.createBitmap(bitmap, 0, height/2, width, height/2, matrix, false);     Bitmap reflectedBitmap = Bitmap.createBitmap(width, (height + height/2), Config.ARGB_8888);     Canvas canvas = new Canvas(reflectedBitmap);     canvas.drawBitmap(bitmap, 0, 0, null);     Paint defaultPaint = new Paint();     canvas.drawRect(0, height, width, height + reflectedGap, defaultPaint);    canvas.drawBitmap(reflectedImage, 0, height + reflectedGap, null);     Paint paint = new Paint();     LinearGradient shader = new LinearGradient(0, bitmap.getHeight(), 0,                 reflectedBitmap.getHeight() + reflectedGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP);     paint.setShader(shader);     paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));     canvas.drawRect(0, height, width, reflectedBitmap.getHeight() + reflectedGap, paint);     return reflectedBitmap;   } }

Java Code:

package com.learn.games; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.widget.ImageView; public class MyBitmapProcessActivity extends Activity {   private ImageView imgView1;   private ImageView imgView2;   private ImageView imgView3;   private ImageView imgView4;   /** Called when the activity is first created. */   @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);     drawBitmap();   }   private void drawBitmap(){     imgView1 = (ImageView)findViewById(R.id.imgView1);     imgView2 = (ImageView)findViewById(R.id.imgView2);     imgView3 = (ImageView)findViewById(R.id.imgView3);     imgView4 = (ImageView)findViewById(R.id.imgView4);     Drawable drawable = this.getWallpaper();     Bitmap bitmap = bitmapProcess.drawable2Bitmap(drawable);            // drawable to bitmap     Bitmap zoomBitmap = bitmapProcess.zoomBitmap(bitmap, 100, 100);         // zoom      Bitmap roundBitmap = bitmapProcess.getRoundCornerBitmap(zoomBitmap, 10.0f);   // round corner      Bitmap reflectedBitmap = bitmapProcess.createReflectedBitmap(zoomBitmap);    // reflect bitmap    // drawable to bitmap     imgView1.setImageBitmap(bitmap);     imgView2.setImageBitmap(zoomBitmap);     imgView3.setImageBitmap(roundBitmap);     imgView4.setImageBitmap(reflectedBitmap);     // bitmap to drawable     Drawable roundDrawable = new BitmapDrawable(roundBitmap);     Drawable reflectedDrawable = new BitmapDrawable(reflectedBitmap);     imgView1.setBackgroundDrawable(roundDrawable);     imgView2.setBackgroundDrawable(reflectedDrawable);   } }

XML:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   >    <ImageView android:id="@+id/imgView1"     android:layout_width="wrap_content"      android:layout_height="wrap_content"/>   <ImageView android:id="@+id/imgView2"     android:layout_width="wrap_content"      android:layout_height="wrap_content"/>   <ImageView android:id="@+id/imgView3"     android:layout_width="wrap_content"      android:layout_height="wrap_content"/>   <ImageView android:id="@+id/imgView4"     android:layout_width="wrap_content"      android:layout_height="wrap_content"/> </LinearLayout>

效果圖:

drawable2bitmap

zoom

round corner

reflected bitmap

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美福利视频在线观看| 日韩精品视频在线| 日韩精品在线免费| 日韩亚洲第一页| 亚洲精品在线视频| 国产精品亚发布| 国产精品久久久久久久久免费看| 欧美丰满少妇xxxxx做受| 亚洲最新在线视频| 亚洲男人天堂久| 国产精品久久久久久久久久久新郎| 国产精品美女www爽爽爽视频| 成人免费视频在线观看超级碰| 亚洲性猛交xxxxwww| 亚洲午夜色婷婷在线| 国产精品福利无圣光在线一区| 热re99久久精品国产66热| 91经典在线视频| 国产精品jvid在线观看蜜臀| 国产91色在线|免| 亚洲美女福利视频网站| 97久久国产精品| 一区二区三区无码高清视频| 国产91av在线| 亚洲黄一区二区| 一本色道久久综合亚洲精品小说| 精品伊人久久97| 欧美另类99xxxxx| 久久久久久97| 亚洲va欧美va国产综合剧情| 欧美国产高跟鞋裸体秀xxxhd| 国外色69视频在线观看| 欧美精品一区二区免费| 性欧美长视频免费观看不卡| 亚洲成人激情在线| 国产亚洲欧美日韩一区二区| 国产伦精品免费视频| 亚洲精品97久久| 亚洲天堂男人天堂女人天堂| 日韩成人在线视频观看| 成人国产精品日本在线| 亚洲欧洲日产国产网站| 日韩亚洲欧美中文在线| 色综合久久久久久中文网| 一区二区三区四区在线观看视频| 欧美日韩午夜视频在线观看| 国产中文字幕亚洲| 欧美人在线视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品美女av| 综合网日日天干夜夜久久| 精品成人久久av| 亚洲少妇中文在线| 日韩高清人体午夜| 国产精品永久免费在线| 亚洲一区二区日本| 欧美激情一区二区三区高清视频| 一区二区欧美久久| 91夜夜揉人人捏人人添红杏| 亚洲一区二区久久久久久| 亚洲精品色婷婷福利天堂| 日韩在线视频观看正片免费网站| 一本一本久久a久久精品牛牛影视| 色狠狠av一区二区三区香蕉蜜桃| 欧美日韩中文在线观看| 国产一区二区色| 欧美激情日韩图片| 欧美激情视频三区| 视频一区视频二区国产精品| 亚洲精品电影在线观看| 成人激情黄色网| 欧洲中文字幕国产精品| 国产精品久久久久久网站| 国产精品视频区1| 日韩视频―中文字幕| 一区二区三区视频在线| 亚洲人成在线观看网站高清| 亚洲福利在线播放| 成人有码视频在线播放| 怡红院精品视频| 亚洲精品美女久久久| 国产一区玩具在线观看| 国产精品视频精品视频| 美女999久久久精品视频| 亚洲女成人图区| 欧美午夜www高清视频| 日韩少妇与小伙激情| 久久久之久亚州精品露出| 国产精品人成电影在线观看| 91精品国产自产91精品| 欧美大片在线看免费观看| 欧美性猛交xxxx| 岛国av在线不卡| 亚洲欧美日韩直播| 亚洲区免费影片| 亚洲偷欧美偷国内偷| 久久久这里只有精品视频| 日韩风俗一区 二区| 中文字幕综合一区| 亚洲丝袜一区在线| 国产精品日日做人人爱| 97国产精品免费视频| 色综合老司机第九色激情| 狠狠躁夜夜躁人人爽超碰91| 免费97视频在线精品国自产拍| 国内久久久精品| 欧美孕妇与黑人孕交| 在线播放日韩精品| 成人黄色片网站| 97免费中文视频在线观看| 中文在线资源观看视频网站免费不卡| 国产成人精品优优av| 国产日韩欧美影视| 成人欧美一区二区三区黑人孕妇| 日韩中文在线中文网三级| 欧美日韩亚洲视频一区| 国产丝袜精品视频| 久久大大胆人体| 精品无码久久久久久国产| 国产97在线播放| x99av成人免费| 亚洲欧美国产精品久久久久久久| 国产精品久在线观看| 亚洲欧美成人一区二区在线电影| 视频一区视频二区国产精品| 欧美国产日韩一区二区三区| 午夜精品久久久久久久白皮肤| 欧美日韩国产成人高清视频| 亚洲天堂av综合网| 精品中文字幕在线2019| 欧美乱大交xxxxx另类电影| 久久久久久成人精品| 亚洲国产99精品国自产| 日本中文字幕成人| 91精品久久久久久久| 久久精品国产欧美亚洲人人爽| 欧美午夜精品久久久久久人妖| 亚洲欧美福利视频| 国产成人精品一区二区三区| 91成人在线观看国产| 中文字幕亚洲二区| 久久免费国产视频| 欧美成人性色生活仑片| 欧美成人在线免费| 亚洲精品免费av| 亚洲摸下面视频| 一区二区三区回区在观看免费视频| 国产国语刺激对白av不卡| 欧美第一淫aaasss性| 久热99视频在线观看| 成人黄色网免费| 91性高湖久久久久久久久_久久99| 91在线视频成人| 久久99热这里只有精品国产| 麻豆一区二区在线观看| 久久69精品久久久久久久电影好| 亚洲精品不卡在线| 亚洲精品美女久久久久| 91精品久久久久久久久不口人| 亚洲天堂免费在线| 国产999在线观看| 日本不卡高字幕在线2019| 欧美性猛交xxxx黑人| 98精品国产自产在线观看|