zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    python--DenyHttp项目(1)--调用cmd控制台命令os.system()
    python--DenyHttp项目(1)--GUI:tkinter☞ module 'tkinter' has no attribute 'messagebox'
    python--DenyHttp项目(1)--socket编程:服务器端进阶版socketServer
    python--DenyHttp项目(1)--socket编程:客户端与服务器端
    平台后台编辑功能实现
    java中的map
    java 重写(override)与 重载(overload)
    java继承 extends
    java泛型
    java中Map和List的使用
  • 原文地址:https://www.cnblogs.com/haoxiqiang/p/3035329.html
Copyright © 2011-2022 走看看