Android 将视图保存为 jpg 或 png [英] Android save view to jpg or png
本文介绍了Android 将视图保存为 jpg 或 png的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想编写一个 android 应用程序,它基本上在另一个图像上的图像上叠加一个叠加层,然后我想将带有叠加层的图片保存为 jpg 或 png.基本上这将是我想保存的整个视图.
I would like to write an android app that basically layers an overlay on image on another image and then I would like to save the picture with the overlay as a jpg or png. Basically this will be the whole view that I would like to save.
示例代码会很有帮助.
我尝试了您的建议,但在 Starred Line 处得到了一个空指针.
I tried out your suggestions and am getting a null pointer at the Starred Line.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.os.Bundle;
import android.os.Environment;
import android.widget.LinearLayout;
import android.widget.TextView;
public class EditPhoto extends Activity {
/** Called when the activity is first created. */
LinearLayout ll = null;
TextView tv = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.text);
ll = (LinearLayout) findViewById(R.id.layout);
ll.setDrawingCacheEnabled(true);
Bitmap b = ll.getDrawingCache();
File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard, "image.jpg");
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
*** b.compress(CompressFormat.JPEG, 95,fos);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
推荐答案
您可以利用视图的绘图缓存.
You can take advantage of a View's drawing cache.
view.setDrawingCacheEnabled(true);
Bitmap b = view.getDrawingCache();
b.compress(CompressFormat.JPEG, 95, new FileOutputStream("/some/location/image.jpg"));
视图是您的视图.95 是 JPG 压缩的质量.文件输出流就是这样.
Where view is your View. The 95 is the quality of the JPG compression. And the file output stream is just that.
这篇关于Android 将视图保存为 jpg 或 png的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文