Android对图片处理的几种效果

最近对图片显示效果的东西比较多,整理了一下

第一种,图片绘制成圆角的

public class RoundConcerActivity extends Activity
{
    /** Called when the activity is first created. */
    private ImageView roundImage = null;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        roundImage = (ImageView)findViewById(R.id.roundconcer);
        
        
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.a);
        roundImage.setImageBitmap(getRoundCornerImage(bitmap, 50));
    }
 
    public static Bitmap getRoundCornerImage(Bitmap bitmap, int roundPixels)
    {
        //创建一个和原始图片一样大小位图
        Bitmap roundConcerImage = Bitmap.createBitmap(bitmap.getWidth(),
                bitmap.getHeight(), Config.ARGB_8888);
        //创建带有位图roundConcerImage的画布
        Canvas canvas = new Canvas(roundConcerImage);
        //创建画笔
        Paint paint = new Paint();
        //创建一个和原始图片一样大小的矩形
        Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
        RectF rectF = new RectF(rect);
        // 去锯齿 
        paint.setAntiAlias(true);
        //画一个和原始图片一样大小的圆角矩形
        canvas.drawRoundRect(rectF, roundPixels, roundPixels, paint);
        //设置相交模式
        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
        //把图片画到矩形去
        canvas.drawBitmap(bitmap, null, rect, paint);
        return roundConcerImage;
    }
}

第二种,图片的缩略图,引用自SJF0115的博客

Bitmap createVideoThumbnail(String filePath, int kind)创建一张视频的缩略图。如果视频已损坏或者格式不支持可能返回null。

参数:

filePath: 视频文件路径

kind: 文件种类,可以是 MINI_KIND 或 MICRO_KIND

Bitmap extractThumbnail(Bitmap source, int width, int height, int options)创建所需尺寸居中缩放的位图。

参数:

source: 需要被创造缩略图的源位图对象

width: 生成目标的宽度

height: 生成目标的高度

options:在缩略图抽取时提供的选项

Bitmap extractThumbnail(Bitmap source, int width, int height)创建所需尺寸居中缩放的位图。

参数:

source: 需要被创造缩略图的源位图对象

width: 生成目标的宽度

height: 生成目标的高度

public class ThumbnailActivity extends Activity {  
  
    private Bitmap bitmap = null;
    private ImageView image;
     @Override  
     public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        image = (ImageView) findViewById(R.id.image);  
        //得到原图片
        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.v);
        //得到缩略图
        bitmap = ThumbnailUtils.extractThumbnail(bitmap, 100, 100);  
        image.setImageBitmap(bitmap);  
    }  
}  

引用:http://www.oschina.net/question/231733_44154

原文地址:https://www.cnblogs.com/haoxiqiang/p/3035329.html