作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要获取 View 中的文本,并保存图像格式。我需要将图像存储在设备的外部存储器中。
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.text);
}
}
最佳答案
我用这个解决方案
public void saveScreenshotOnDisk (final View view, final Context context, final String folder, final String title, final String description) {
final String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
final Bitmap screenshot = screenShot(view, context);
final File folderPath = new File(Environment.getExternalStorageDirectory().toString() + File.separatorChar + folder + File.separatorChar + "" + "s");
if (!folderPath.exists()) {
folderPath.mkdirs();
}
final String imagePath = folderPath.getAbsolutePath() + File.separatorChar + "Receipt" + "_" + System.currentTimeMillis() + ".png";
OutputStream fout = null;
File imageFile = new File(imagePath);
try {
fout = new FileOutputStream(imageFile);
screenshot.compress(Bitmap.CompressFormat.JPEG, 90, fout);
MediaStore.Images.Media.insertImage(context.getContentResolver(), screenshot, title, description);
Toast.makeText(context, "Verifique a pasta " + folder + " .", Toast.LENGTH_LONG).show();
} catch (Exception e) {
BBLog.w(TAG + ".saveScreenshotOnDisk", e.getMessage());
}finally{
try {
if(fout != null){
fout.flush();
fout.close();
}
} catch (Exception e2) {}
}
}
}
public static Bitmap screenShot(final View view, final Context context) {
view.setBackgroundColor(Color.WHITE);
Bitmap capture = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(capture);
view.draw(c);
view.setBackgroundColor(Color.TRANSPARENT);
shootSound(context);
return capture;
}
关于java - 如何将 Activity 的文本保存在图像中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27802519/
我是一名优秀的程序员,十分优秀!