zoukankan      html  css  js  c++  java
  • android图片缩小和放大Matrix

    /**Bitmap放大的方法*/
    private static Bitmap big(Bitmap bitmap) {
    Matrix matrix = new Matrix();
    matrix.postScale(1.5f,1.5f); //长和宽放大缩小的比例
    Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
    return resizeBmp;
    }
    /**Bitmap缩小的方法*/
    private static Bitmap small(Bitmap bitmap) {
    Matrix matrix = new Matrix();
    matrix.postScale(0.8f,0.8f); //长和宽放大缩小的比例
    Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
    return resizeBmp;
    }

            // 绘制图片
                int saveCount = canvas.getSaveCount();
                canvas.save();
                canvas.translate(pLeft, pTop);   //画布画笔起点位置
                if (item.matrix != null) {
                    canvas.concat(item.matrix);  //画布添加matrix矩阵
                }
                // 设置该图绘制的区域, 图片的绘制区域参数会跟随matrix参数的scale 同步放大缩小,比如如果绘制起点是100px处同时matrix.scale=0.5
    //            则实际绘制中绘制起点在50px处
                canvas.clipRect(item.rect);
                // 绘制三张图片
                //  canvas.drawBitmap()中绘制起点位置随matrix参数的scale 同步放大缩小,比如如果绘制起点是100px处同时matrix.scale=0.5
    //            则实际绘制中绘制起点在50px处
                canvas.drawBitmap(item.bitmap,
                        item.rect.left, item.rect.top, mPaint);
                canvas.restoreToCount(saveCount);

  • 相关阅读:
    行为型模式之Template Method模式
    【翻译】无需安装Python,就可以在.NET里调用Python库
    SciSharpCube:容器中的SciSharp,.NET机器学习开箱即用
    [翻译] NumSharp的数组切片功能 [:]
    C#
    API做翻页的两种思路
    C#相等性
    C#相等性
    SpringBoot进阶教程(五十八)整合Redis之Sentinel哨兵模式
    org.springframework.cache.interceptor.SimpleKey cannot be cast to java.lang.String
  • 原文地址:https://www.cnblogs.com/ldq2016/p/5396559.html
Copyright © 2011-2022 走看看