现在的位置: 首页 > 综合 > 正文

获取和保存当前屏幕的截图 实现的C++代码如下

2013年10月21日 ⁄ 综合 ⁄ 共 1705字 ⁄ 字号 评论关闭

实现的C++代码如下:

/** * 获取和保存当前屏幕的截图 */

private void getandsavecurrentimage()

{

 //1 构建bitmap windowmanager

windowmanager = getwindowmanager();

 display display = windowmanager getdefaultdisplay();

 int w = display getwidth();

 int h = display getheight();

bitmap bmp = bitmap createbitmap( w, h, config argb_8888 );

 //2 获取屏幕

 view decorview = this getwindow() getdecorview();decorview setdrawingcacheenabled(true);bmp = decorview getdrawingcache(); string savepath = getsdcardpath()+"/andydemo/screenimage"; //3 保存bitmaptry {file path = new file(savepath);//文件string filepath
= savepath + "/screen_1 png";file file = new file(filepath);if(!path exists()){path mkdirs();}if (!file exists()) {file createnewfile();}fileoutputstream fos = null;fos = new fileoutputstream(file);if (null != fos) {bmp compress(bitmap compressformat
png, 90, fos);fos flush();fos close();toast maketext(mcontext, "截屏文件已保存至sdcard/andydemo/screenimage/下", toast length_long) show();}} catch (exception e) {e printstacktrace(); }} /*** 获取sdcard的目录路径功能* @return*/private string getsdcardpath(){file sdcarddir
= null;//判断sdcard是否存在boolean sdcardexist = environment getexternalstoragestate() equals(android os environment media_mounted);if(sdcardexist){sdcarddir = environment getexternalstoragedirectory();}return sdcarddir tostring();}由于要对sdcard进行操作,所以别忘记了在manifest
xml文件中赋以对sdcard的读写权限:<uses-permission android:name="android permission write_external_storage"/>作者: 时间: 出处: 缩略图: 标题:qt解决中文乱码(tr的使用 | qtextcodec)内容: qt代码中使用了中文,会出现乱码,主要是未设置code类型。

作者: 时间: 出处: 缩略图: 标题:class类型重定义,include(头文件)重复加载 qt /c++内容: 提示报错:"class类型重定义原因1:include 头文件重复加载原因2:两个类相互include解决:1 include 头文件重复加载在include之前添加1#pragma once意思是只include一次就可以了C++。

为了鼓励大家在论坛中更好地互相帮助,共同提高,微软在全亚洲的C++微软论坛参与者中评选出那些技术水平高,积极回答他人问题,乐于助人的网友授予微软最有价值专家称号(most valuable professional)。

抱歉!评论已关闭.