2

我现在有一个View,我正在尝试将其保存为固定大小,例如保存500*666到 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
                            }
}

我将宽度和高度作为修复,因为我需要图像作为固定大小。如何缩放视图?请帮我。

在此处输入图像描述

4

2 回答 2

1

我认为您必须参考这些链接可能会根据需要获得输出。

试一次

于 2013-03-29T06:55:22.217 回答
1

只是一个建议。

不要给出任何高度,宽度来查看,然后获取原始视图的位图。

一旦你从视图中创建了位图,然后应用缩放..你可以使用Bitmap.createScaledBitmap()

然后保存该缩放位图。

于 2013-03-29T07:12:54.883 回答