Android中几种图像特效处理方法小结Word文档格式.docx

上传人:b****2 文档编号:15118382 上传时间:2022-10-27 格式:DOCX 页数:8 大小:56.48KB
下载 相关 举报
Android中几种图像特效处理方法小结Word文档格式.docx_第1页
第1页 / 共8页
Android中几种图像特效处理方法小结Word文档格式.docx_第2页
第2页 / 共8页
Android中几种图像特效处理方法小结Word文档格式.docx_第3页
第3页 / 共8页
Android中几种图像特效处理方法小结Word文档格式.docx_第4页
第4页 / 共8页
Android中几种图像特效处理方法小结Word文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

Android中几种图像特效处理方法小结Word文档格式.docx

《Android中几种图像特效处理方法小结Word文档格式.docx》由会员分享,可在线阅读,更多相关《Android中几种图像特效处理方法小结Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

Android中几种图像特效处理方法小结Word文档格式.docx

importandroid.graphics.Canvas;

importandroid.graphics.LinearGradient;

importandroid.graphics.Matrix;

importandroid.graphics.Paint;

importandroid.graphics.PixelFormat;

importandroid.graphics.PorterDuffXfermode;

importandroid.graphics.Rect;

importandroid.graphics.RectF;

importandroid.graphics.Bitmap.Config;

importandroid.graphics.PorterDuff.Mode;

importandroid.graphics.Shader.TileMode;

importandroid.graphics.drawable.Drawable;

publicclassImageUtil{

//放大缩小图片

publicstaticBitmapzoomBitmap(Bitmapbitmap,intw,inth){

intwidth=bitmap.getWidth();

intheight=bitmap.getHeight();

Matrixmatrix=newMatrix();

floatscaleWidht=((float)w/width);

floatscaleHeight=((float)h/height);

matrix.postScale(scaleWidht,scaleHeight);

Bitmapnewbmp=Bitmap.createBitmap(bitmap,0,0,width,height,matrix,true);

returnnewbmp;

}

//将Drawable转化为Bitmap

publicstaticBitmapdrawableToBitmap(Drawabledrawable){

intwidth=drawable.getIntrinsicWidth();

intheight=drawable.getIntrinsicHeight();

Bitmapbitmap=Bitmap.createBitmap(width,height,

drawable.getOpacity()!

=PixelFormat.OPAQUE?

Bitmap.Config.ARGB_8888

:

Bitmap.Config.RGB_565);

Canvascanvas=newCanvas(bitmap);

drawable.setBounds(0,0,width,height);

drawable.draw(canvas);

returnbitmap;

//获得圆角图片的方法

publicstaticBitmapgetRoundedCornerBitmap(Bitmapbitmap,floatroundPx){

Bitmapoutput=Bitmap.createBitmap(bitmap.getWidth(),bitmap

.getHeight(),Config.ARGB_8888);

Canvascanvas=newCanvas(output);

finalintcolor=0xff424242;

finalPaintpaint=newPaint();

finalRectrect=newRect(0,0,bitmap.getWidth(),bitmap.getHeight());

finalRectFrectF=newRectF(rect);

paint.setAntiAlias(true);

canvas.drawARGB(0,0,0,0);

paint.setColor(color);

canvas.drawRoundRect(rectF,roundPx,roundPx,paint);

paint.setXfermode(newPorterDuffXfermode(Mode.SRC_IN));

canvas.drawBitmap(bitmap,rect,rect,paint);

returnoutput;

//获得带倒影的图片方法

publicstaticBitmapcreateReflectionImageWithOrigin(Bitmapbitmap){

finalintreflectionGap=4;

matrix.preScale(1,-1);

BitmapreflectionImage=Bitmap.createBitmap(bitmap,

0,height/2,width,height/2,matrix,false);

BitmapbitmapWithReflection=Bitmap.createBitmap(width,(height+height/2),Config.ARGB_8888);

Canvascanvas=newCanvas(bitmapWithReflection);

canvas.drawBitmap(bitmap,0,0,null);

PaintdeafalutPaint=newPaint();

canvas.drawRect(0,height,width,height+reflectionGap,

deafalutPaint);

canvas.drawBitmap(reflectionImage,0,height+reflectionGap,null);

Paintpaint=newPaint();

LinearGradientshader=newLinearGradient(0,

bitmap.getHeight(),0,bitmapWithReflection.getHeight()

+reflectionGap,0x70ffffff,0x00ffffff,TileMode.CLAMP);

paint.setShader(shader);

//SettheTransfermodetobeporterduffanddestinationin

paint.setXfermode(newPorterDuffXfermode(Mode.DST_IN));

//Drawarectangleusingthepaintwithourlineargradient

canvas.drawRect(0,height,width,bitmapWithReflection.getHeight()

+reflectionGap,paint);

returnbitmapWithReflection;

packagecom.android.tutor;

importandroid.graphics.Bitmap;

importandroid.graphics.Canvas;

importandroid.graphics.LinearGradient;

importandroid.graphics.Matrix;

importandroid.graphics.Paint;

importandroid.graphics.PixelFormat;

importandroid.graphics.PorterDuffXfermode;

importandroid.graphics.Rect;

importandroid.graphics.RectF;

importandroid.graphics.Bitmap.Config;

importandroid.graphics.PorterDuff.Mode;

importandroid.graphics.Shader.TileMode;

importandroid.graphics.drawable.Drawable;

publicclassImageUtil{

Canvascanvas=newCanvas(bi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1