获取和保存当前屏幕的截图 实现的C++代码如下
實現的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)。
總結
以上是生活随笔為你收集整理的获取和保存当前屏幕的截图 实现的C++代码如下的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++中宏定义的妙用
- 下一篇: 飞秋 一个程序员的老作品。