当前位置:   article > 正文

Android 根据View(布局) 生成图片(Bitmap)_android view.inflate生成长图bitmap

android view.inflate生成长图bitmap

下面生成图片的方法我会引用一个布局,布局我就不贴了,我说一些大家要主要的地方

布局:
引用了R.layout.ll_bitmap这个xml文件的布局
这个id (R.id.ll_layout)是最外面的一个布局 最好是LayoutInflater ,如果有其他的都布局请在外面写一个.要不然很容易出问题(RelativeLayout)

生成图片

    private Bitmap getBitmap() {
            Bitmap bitmap = null;
            LayoutInflater factorys = LayoutInflater.from(this);
            final View textEntryView = factorys.inflate(R.layout.ll_bitmap, null);
            View ll = textEntryView.findViewById(R.id.ll_layout);

            TextView textView = (TextView) textEntryView.findViewById(R.id.tvbitmap_sfz);
            textView.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/OCRB10N.TTF"));
            ll.setDrawingCacheEnabled(true);
            ll.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
                    View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
            ll.layout(0, 0, ll.getMeasuredWidth(), ll.getMeasuredHeight());
            bitmap = Bitmap.createBitmap(ll.getDrawingCache());
            ll.setDrawingCacheEnabled(false);

            return bitmap;
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

这个是上面的Bitmap存到sd卡里面 大家自己根据情况写

权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

        private void saveCroppedImage(Bitmap bmp) {
                File file = new File("/sdcard/myFolder");
                if (!file.exists())
                    file.mkdir();

                file = new File("/sdcard/temp.jpg".trim());
                String fileName = file.getName();
                String mName = fileName.substring(0, fileName.lastIndexOf("."));
                String sName = fileName.substring(fileName.lastIndexOf("."));

                // /sdcard/myFolder/temp_cropped.jpg
                String newFilePath = "/sdcard/myFolder" + "/" + mName + "_cropped" + sName;
                file = new File(newFilePath);
                try {
                    file.createNewFile();
                    FileOutputStream fos = new FileOutputStream(file);
                    bmp.compress(CompressFormat.JPEG, 50, fos);
                    fos.flush();
                    fos.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/261963
推荐阅读
相关标签
  

闽ICP备14008679号