编辑图像并保存为原始大小

时间:2014-11-05 13:25:28

标签: android drawing

我已经完成了一个用户可以用手指画线的应用程序。为此,我扩展了一个视图并调用

Canvas.drawPath(path)

每次用户触摸并移动手指时,path都会更新。但是现在我需要能够保存这样的绘图,但输出文件的分辨率应该比绘图视图大。我认为这或多或少与其他图片编辑应用程序一样,可以显示图片的缩小版本,但最后您将编辑内容保存为原始尺寸。
我想如果我在缩小的视图上绘制然后只是缩放以进行保存,它将看起来很糟糕(像素化),因为输出图像将比视图上显示的大两倍。

那么图像编辑器如何处理呢?我还没有找到(还)这种图像编辑器的源代码。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我最终创建了第二个不可见但具有正确宽度和高度的绘图视图。每次在可见视图上进行drawSomething()调用时,不可见视图将使用相同的调用进行更新,但坐标将按正确的因子进行缩放。该因子的计算如下:

factor = visibleView.width / invisibleView.width;

对于可见和不可见的视图,我保持宽高比相同,所以这里只需要一个因素。
获取不可见视图的位图通常不起作用,所以我使用了这个答案https://stackoverflow.com/a/16501007/2160877
对我来说这个解决方案有效,但我找不到任何其他解决方案,所以如果有人分享更好的解决方案,我会很感激。