Java 如何将4096分辨率的图像保存到android设备库中?
我想在Java 如何将4096分辨率的图像保存到android设备库中?,java,android,image,bitmap,Java,Android,Image,Bitmap,我想在4096X4096或2048X2048分辨率中将布局保存为图像,而不会丢失其纵横比或质量 多谢各位 编辑 private void getBitmap(View view) { view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bm = view.getDrawingCache(); } 我从上面的代码中得到一个视图的位图。因此,我如何将其以高分辨率保存在设备中 是一个很好
4096X4096
或2048X2048
分辨率中将布局
保存为图像
,而不会丢失其纵横比或质量
多谢各位
编辑
private void getBitmap(View view) {
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bm = view.getDrawingCache();
}
我从上面的代码中得到一个视图的位图。因此,我如何将其以高分辨率保存在设备中
是一个很好的图像转换库。以压缩机为灵感,具有更好的压缩性能和高品质
调整图像大小
Bitmap resizedImage = new Resizer(this)
.setTargetLength(2048)
.setQuality(100)
.setSourceImage(originalImage)
.getResizedBitmap();
imageHolder.setDrawingCacheEnabled(true);
Bitmap bitmap = imageHolder.getDrawingCache();
MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "filename", "description");
Toast.makeText(context, "saved", Toast.LENGTH_SHORT).show();
保存图像
Bitmap resizedImage = new Resizer(this)
.setTargetLength(2048)
.setQuality(100)
.setSourceImage(originalImage)
.getResizedBitmap();
imageHolder.setDrawingCacheEnabled(true);
Bitmap bitmap = imageHolder.getDrawingCache();
MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "filename", "description");
Toast.makeText(context, "saved", Toast.LENGTH_SHORT).show();
注意:使用ImageView在活动中设置图像。作为imageHolder提供ImageView的ID。在AndroidManifest
编辑:
将布局转换为位图
layout = (LinearLayout) findViewById(R.id.linearLayout_view);
private File getBitmapFromView(layout){
private Bitmap getBitmapFromView(View view) {
Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(),view.getHeight(),Bitmap.Config.ARGB_8888);
return returnedBitmap;
}
希望这有帮助。请随时询问任何澄清。是一个很好的图像转换库。以压缩机为灵感,具有更好的压缩性能和高品质
调整图像大小
Bitmap resizedImage = new Resizer(this)
.setTargetLength(2048)
.setQuality(100)
.setSourceImage(originalImage)
.getResizedBitmap();
imageHolder.setDrawingCacheEnabled(true);
Bitmap bitmap = imageHolder.getDrawingCache();
MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "filename", "description");
Toast.makeText(context, "saved", Toast.LENGTH_SHORT).show();
保存图像
Bitmap resizedImage = new Resizer(this)
.setTargetLength(2048)
.setQuality(100)
.setSourceImage(originalImage)
.getResizedBitmap();
imageHolder.setDrawingCacheEnabled(true);
Bitmap bitmap = imageHolder.getDrawingCache();
MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "filename", "description");
Toast.makeText(context, "saved", Toast.LENGTH_SHORT).show();
注意:使用ImageView在活动中设置图像。作为imageHolder提供ImageView的ID。在AndroidManifest
编辑:
将布局转换为位图
layout = (LinearLayout) findViewById(R.id.linearLayout_view);
private File getBitmapFromView(layout){
private Bitmap getBitmapFromView(View view) {
Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(),view.getHeight(),Bitmap.Config.ARGB_8888);
return returnedBitmap;
}
希望这有帮助。请随时询问任何澄清。如何将此调整大小的位图保存到设备中?如何将约束布局转换为位图?@prakharshrivastava浏览了上面编辑的答案,创建onClickListener以保存图像和保存大小调整后图像的片段。我应该传递什么来代替原始图像?您必须将大小调整后的图像设置为ImageView并将其id指定为imageHolder或您喜欢的任何名称,然后使用上述片段创建onClickListener以保存ImageView中的图像我无法复制无法调整位图大小,因为setSourceImage需要类型文件,而我有位图。如何将此调整大小的位图保存到设备中?如何将约束布局转换为位图?@prakharshrivastava浏览了上面编辑的答案,创建onClickListener以保存图像和保存大小调整后图像的片段。我应该传递什么来代替原始图像?您必须将大小调整后的图像设置为ImageView并将其id指定为imageHolder或您喜欢的任何名称,然后使用上述片段创建onClickListener以保存ImageView中的图像我无法复制能够调整位图大小,因为setSourceImage需要类型文件,而我有位图。