【发布时间】:2015-10-26 19:57:31
【问题描述】:
是否有任何可能的方法将 android 画布保存为 svg。我知道如何将其保存为 png/jpeg。我目前将其保存为 jpeg。这是我现在用来保存的代码。
canvas.setDrawingCacheEnabled(true);
canvas.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
Bitmap bitmap = canvas.getDrawingCache();
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
File file = new File(path+"/image.jpg");
FileOutputStream ostream;
try {
file.createNewFile();
ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, ostream);
ostream.flush();
ostream.close();
Toast.makeText(getApplicationContext(), "image saved", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_SHORT).show();
}
我希望将画布保存为 svg?
【问题讨论】:
-
你知道什么是 SVG 吗?这是一个矢量文件。这意味着每条线、曲线、路径都用坐标表示(在 x,y 处的位置,移动到 x1,y1,做一个以 x3,y3 为中心且半径为 n 个像素的圆,...)。 Android 本身不支持 SVG 文件。即使它们是基于 xml 的。您将需要一个第三方库来读取 SVG。但是还没有任何东西可以从 bitmap 转换为 vectorial,AFAIK。