我想创建一个使用Intent共享我的图像的函数。问题是;我有png图像,当我使用Intent共享图像时,它将图像格式png的格式更改为jpeg。例如,当我调用意图分享时,我的image.png没有背景(透明),它将图像背景更改为黑色并格式化为image.jpg。
这是我的代码
protected void ShareImage( )
{
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("image/png");
Bitmap imgBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image );
String imgBitmapPath= MediaStore.Images.Media.insertImage(getContentResolver(),imgBitmap,"title",null);
Uri imageUri=Uri.parse(imgBitmapPath);
sharingIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
startActivity(Intent.createChooser(sharingIntent, "Share images to.."));
}
请帮我分享图片而不更改格式..谢谢
答案 0 :(得分:0)
将位图转换为Uri
private Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.PNG, 99, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
并添加您的应用程序清单
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>