我有一个扩展View的类。我重写onDraw方法并允许用户在屏幕上绘图。我正处于将此视图保存为图像的位置。我可以使用buildDrawingCache和getDrawingCache来创建一个可以写入SD卡的位图。但是,图像质量不高,尺寸大,边缘锯齿状。由于我有一个视图,我使用路径,我可以通过绘制更大的大小来转换所有。我只是不知道如何使Canvas更大,所以当我调用getDrawingCache它不会裁剪我刚刚转换的所有路径。发生的事情是我转换所有路径但是当我将Bitmap写入文件时,我只得到实际屏幕大小的“视口”。我想要更大的东西。任何正确方向的帮助将不胜感激。我一直在阅读文档和书籍,我不知所措。 谢谢 乔恩
答案 0 :(得分:0)
您可以创建另一个由您创建的位图支持的Canvas,并绘制所有路径。然后,位图将保留更大,更高分辨率的图像。它看起来像这样:
Bitmap largeBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas largeCanvas = new Canvas(largeBitmap);
// Draw the paths to this canvas and then use largeBitmap to save to a file.