Bitmap的一些操作

原创 2015年07月07日 17:04:40
/**
     * 旋转图片
     *
     * @param bmp
     * @param degrees
     * @return
     */
    public Bitmap rotateIMG(Bitmap bmp, float degrees) {
        Bitmap bitmap = null;

        Matrix matrix = new Matrix();
        matrix.setRotate(degrees);
        bitmap = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(),
                bmp.getHeight(), matrix, true);

        return bitmap;

    }


/* 压缩到指定宽高 */
    private Bitmap getBitmapFromFile(String pathName, int width, int height) {
        BitmapFactory.Options opts = new BitmapFactory.Options();
        opts.inJustDecodeBounds = true;
        Bitmap src = BitmapFactory.decodeFile(pathName, opts);
        opts.outWidth = width;
        opts.outHeight = height;
        opts.inJustDecodeBounds = false;
        src = BitmapFactory.decodeFile(pathName, opts);
        Toast.makeText(this, src.getWidth() + " " + src.getHeight(),
                Toast.LENGTH_SHORT).show();

        int w = src.getWidth();
        int h = src.getHeight();
        float scaleWidth = ((float) width) / w;
        float scaleHeight = ((float) height) / h;
        Matrix matrix = new Matrix();
        matrix.postScale(scaleWidth, scaleHeight);
        Bitmap bmp = Bitmap.createBitmap(src, 0, 0, w, h, matrix, true);
        Toast.makeText(this, bmp.getWidth() + " " + bmp.getHeight(),
                Toast.LENGTH_SHORT).show();

        return bmp;
    }



/**
     * 得到文件路径
     *
     * @return
     */
    private File getFile() {
        File file = new File("/sdcard/epd/sc.txt");
        try {
            boolean sdCardExist = Environment.getExternalStorageState().equals(
                    android.os.Environment.MEDIA_MOUNTED);
            if (sdCardExist) {
                String fileName = "epd";
                String sdPath = Environment.getExternalStorageDirectory()
                        .getPath();
                File tempFile = new File(sdPath + File.separator + fileName);
                if (!tempFile.exists()) {
                    tempFile.mkdirs();
                }
                file = new File(sdPath + File.separator + fileName
                        + File.separator + "sc" + ".txt");
                /*
                 * if (file.exists()) { file.delete(); file.createNewFile(); }
                 */
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return file;
    }


/*文件保存*/

FileOutputStream fos = null;
        try {
            File file = getFile();
            fos = new FileOutputStream(file, false);
            fos.write(buffer);
            fos.flush();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (fos != null)
                    fos.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }


/**
     * time:2015-07-06
     *  读取文件
     * @param path
     * @return
     */
    private byte[] getImageBytes() {
        byte[] buffer = null;
        File file = getFile();
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(file);
            int lenght = fis.available();
            buffer = new byte[lenght];
            fis.read(buffer);
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (fis != null) {
                    fis.close();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return buffer;
    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

APP_Bitmap(图片操作)

  • 2017年03月26日 00:55
  • 1.49MB
  • 下载

Bitmap的一些操作

  • 2014年04月24日 16:20
  • 1.19MB
  • 下载

Android中常用的位图操作(View与Bitmap转化、圆角、灰化、提取Alpha、旋转、倒影、剪切……)

一、View转换为Bitmap         在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面。在窗口显示的时候Android会把这些控件都加载到...
  • dj0379
  • dj0379
  • 2015年11月10日 19:42
  • 1223

Android中常用的位图操作(View与Bitmap转化、圆角、灰化、提取Alpha、旋转、倒影、剪切……)

一、View转换为Bitmap         在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面。在窗口显示的时候Android会把这些控件都加载到...
  • cch1024
  • cch1024
  • 2015年11月17日 15:36
  • 710

Android Bitmap 防止OOM及其他操作

防止OOM,及 // 压缩图片大小 public Bitmap reBitmap(String path) { BitmapFactory.Options options = new Bit...
  • pengkv
  • pengkv
  • 2014年06月09日 11:26
  • 815

bitmap和drawable的一些简单操作

bitmap相关: bitmap转换成byte[]:    public byte[] bitmap2Bytes(Bitmap bm) {         ByteArrayOutput...
  • y444400
  • y444400
  • 2015年01月21日 14:17
  • 381

Android开发-对bitmap的一些的操作

/** 获取 drawable 的图片 可以循环 1.图名 2.drawable 3.包名 **/int imgid = getResources().getIdentifie...

Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移

转载自:http://www.cnblogs.com/rustfisher/p/5071494.html Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋...

android bitmap的 一些简单操作

全都是一些代码片段,需要可以直接贴过去用 /** 获取 drawable 的图片 可以循环 1.图名 2.drawable 3.包名 **/ int i...

Bitmap位图渲染与操作

public class BitmapTest extends Activity{ @Override protected void onCreate(Bundle savedInstanceS...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Bitmap的一些操作
举报原因:
原因补充:

(最多只允许输入30个字)