Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将图像和编辑文本保存到库中_Android_Text_Save_Gallery_Android Studio 2.2 - Fatal编程技术网

Android 将图像和编辑文本保存到库中

Android 将图像和编辑文本保存到库中,android,text,save,gallery,android-studio-2.2,Android,Text,Save,Gallery,Android Studio 2.2,我正在尝试创建一个应用程序,它可以像图像编辑器一样在图像上添加文本,并将其保存到库中。在本例中,我的图像来自多媒体资料或相机,文本由用户添加,但问题是图像上的文本未存储在多媒体资料中 这里有谁能提供解决方案吗 谢谢!:) 试试以下方法: 1) 创建线性布局 LinearLayout layout = (LinearLayout) findViewById(R.id.layout_you_need); 2) 添加文本视图 TextView tv = new TextView(Ma

我正在尝试创建一个应用程序,它可以像图像编辑器一样在图像上添加文本,并将其保存到库中。在本例中,我的图像来自多媒体资料或相机,文本由用户添加,但问题是图像上的文本未存储在多媒体资料中

这里有谁能提供解决方案吗

谢谢!:)

试试以下方法:

1) 创建线性布局

    LinearLayout layout = (LinearLayout) findViewById(R.id.layout_you_need);
2) 添加文本视图

    TextView tv = new TextView(MainActivity.this);
    //tv.setText("Whatever you like");
    layout.addView(tv); // add TextView on runtime

    layout.setDrawingCacheEnabled(true);

    layout.buildDrawingCache(true);

    Bitmap saveBm = Bitmap.createBitmap(layout.getDrawingCache());

    layout.setDrawingCacheEnabled(false);

    SaveImage(savebm); 
3) 保存位图

    private void SaveImage(Bitmap finalBitmap) {

        String root = Environment.getExternalStorageDirectory().toString();
        File myDir = new File(root + "/saved_images");
        myDir.mkdirs();
        Random generator = new Random();
        int n = 10000;
        n = generator.nextInt(n);
        String fname = "Image-"+ n +".jpg";
        File file = new File (myDir, fname);
        if (file.exists ()) file.delete ();
        try {
            FileOutputStream out = new FileOutputStream(file);
            finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
            out.flush();
            out.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

另外,请理解
您的_layout_view.invalidate()
,您将来可能需要此功能。

在此发布您的代码发布您到目前为止所做的代码,总体思路是在运行时使用
线性布局
在其中添加
文本视图
,创建一个
视图
,创建此
视图的
位图
,并将其保存到
环境中。getExternalStorageDirectory()
我什么都不做。我只是想知道它是怎么做到的。我是这个领域的初学者,谢谢你的回答……:)但是你能简单地解释一下吗@维克兰特