我生成的图像视图饼图,我希望通过电子邮件发送。
如何转换图像视图的形象,以电子邮件附件,作为其在资源不可用?
我生成的图像视图饼图,我希望通过电子邮件发送。
如何转换图像视图的形象,以电子邮件附件,作为其在资源不可用?
呼叫getDrawingCache()
在你的图像视图。 这将返回视图的缓存位图。 阅读文档这里 。
保存位图PNG,创建邮件,并附加及发送。
Bitmap bmp = imgView.getDrawingCache();
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE);
bmp.compress(Bitmap.CompressFormat.PNG, 0, fos);
fos.close();
/* Create a Action_SEND intent and attach the FILENAME image to the mail. */
...
intent.putExtra(Intent.EXTRA_STREAM, FILENAME); // FILENAME is URI
...
startActivity(....);
最简单和大多数Android友好的方式是使用ACTION_SEND意图。 该守则将是这个样子:
path = "/path/to/image/"
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse(path);
sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
这听起来好像很多额外的工作是怎么回事。 如果您有可用在运行时的ImageView的,我们把它叫做mImageView,那么你可以做这样的事情:
Drawable mDrawable = mImageView.getDrawable();
Bitmap mBitmap = ((BitmapDrawable)mDrawable).getBitmap();
现在你有,你可以附加到电子邮件作为附件的位图图像。 我还没有原型它使100%肯定这将做你寻找什么,但似乎很多比它保存到SD卡更优雅的,所以您可以流回来为位图,并将其连接到一封电邮。
让我知道,如果不工作,我会尽力为原型出来的东西
谢谢你,大卫