У меня есть один View
. Я пытаюсь сохранить его как размер исправления, например 500*666
в sdcard. Сохранение изображения успешно, но сохранить изображение как показано ниже. Изображение сохраняется как на углу всего изображения. См. Прикрепленное изображение.Как масштабировать и сохранять Вид на SDCard
Код:
private void onSave(final View v) {
v.setMinimumWidth(500);
v.setMinimumHeight(666);
Bitmap viewBitmap_save = null;
savingdialog();
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(
dm);
Display display = getWindowManager()
.getDefaultDisplay();
viewBitmap_save = Bitmap.createBitmap(500, 666,
Bitmap.Config.ARGB_8888);// i
Canvas canvas = new Canvas(viewBitmap_save);
v.draw(canvas);
try {
Random randomGenerator = new Random();
long RANDOMFILENUMBER = randomGenerator
.nextLong();
File wallpaperDirectory = new File(
"/sdcard/Image Telling/");
// have the object build the directory
// structure, if needed.
wallpaperDirectory.mkdirs();
// create a File object for the output file
// FileOutputStream outStream = new
// FileOutputStream(file);
File outputFile = new File(wallpaperDirectory,
RANDOMFILENUMBER + ".png");
FileOutputStream outStream = new FileOutputStream(
outputFile);
viewBitmap_save.compress(CompressFormat.PNG,
100, outStream);
sendBroadcast(new Intent(
Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://"
+ Environment
.getExternalStorageDirectory())));
} catch (Exception e) {
// TODO: handle exception
}
}
Я даю ширину и высоту, как исправить, потому что мне нужно изображение в качестве фиксированного размера. Как масштабировать вид? Пожалуйста, помогите мне.
Фактически я использую viewflipper, у которых есть разные дочерние элементы теперь, когда пользователь нажимает кнопку сохранения. Я хочу сохранить текущего ребенка из представления flipper. View viewtosave = vf_letters.getCurrentView(); Это дает мне текущий вид ViewFlipper , который я пытаюсь сохранить. –
Вы пробовали, как я сказал, прежде чем комментировать? .... «Создайте растровое изображение tha viewtosave .. без указания ширины высоты ... после создания растрового изображения, затем уменьшите его». – MKJParekh
Да, я стараюсь. Я удаляю v.setMinimumWidth (500); и v.setMinimumHeight (666); и создать растровое изображение. Но как масштабировать его, чтобы исправить размер, который составляет 500 * 666? –