Форум программистов, компьютерный форум CyberForum.ru

Преобразовать .raw в .png или .jpg - Android

Войти
Регистрация
Восстановить пароль
 
RosPC
-6 / 3 / 0
Регистрация: 21.09.2012
Сообщений: 80
29.11.2012, 22:46     Преобразовать .raw в .png или .jpg #1
Здравствуйте) у меня програма тянит скриншот екрана с буфера... и записевает в ss.raw... как мне преобразовать етот файл в .png или .jpg

Вот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
public class TakeScreenshot extends Activity {
 
     public static final String TAG = "ScreenShotter";
     
        private Button _SSButton;
        private PullScreenAsyncTask _Puller;
        Process p; 
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.take_screenshot);
           
            _SSButton = (Button)findViewById(R.id.main_screenshotButton);
            _SSButton.setOnClickListener(new View.OnClickListener() {
     
                public void onClick(View v) {
                    if (_Puller != null)
                        return;
                    //TODO: Verify that external storage is available! Could always use internal instead...
     
                    _Puller = new PullScreenAsyncTask();
                    _Puller.execute((Void[])null);
                }
            });
        }
     
        private void runSuShellCommand(String cmd) {
            Runtime runtime = Runtime.getRuntime();
            Process proc = null;
            OutputStreamWriter osw = null;
            StringBuilder sbstdOut = new StringBuilder();
            StringBuilder sbstdErr = new StringBuilder();
     
            try { // Run Script
                proc = runtime.exec("su");
                osw = new OutputStreamWriter(proc.getOutputStream());
                osw.write(cmd);
                osw.flush();
                osw.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            } finally {
                if (osw != null) {
                    try {
                        osw.close();
                    } catch (IOException e) {
                        e.printStackTrace();                    
                    }
                }
            }
     
            try {
                if (proc != null)
                    proc.waitFor();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
     
            sbstdOut.append(readBufferedReader(new InputStreamReader(proc.getInputStream())));
            sbstdErr.append(readBufferedReader(new InputStreamReader(proc.getErrorStream())));
        }
     
        private String readBufferedReader(InputStreamReader input) {
     
            BufferedReader reader = new BufferedReader(input);
            StringBuilder found = new StringBuilder();
            String currLine = null;
            String sep = System.getProperty("line.separator");
            try {
                // Read it all in, line by line.
                while ((currLine = reader.readLine()) != null) {
                    found.append(currLine);
                    found.append(sep);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
     
            return null;
        }
     
        class PullScreenAsyncTask extends AsyncTask<Void, Void, Void> {
     
            @Override
            protected Void doInBackground(Void... params) {
     
                File ssDir = new File(Environment.getExternalStorageDirectory(), "/screenshots");
                if (ssDir.exists() == false) {
                    Log.i(TAG, "Screenshot directory doesn't already exist, creating...");
                    if (ssDir.mkdirs() == false) {
                        //TODO: We're kinda screwed... what can be done?
                        Log.w(TAG, "Failed to create directory structure necessary to work with screenshots!");
                        return null;
                    }
                }
                File ss = new File(ssDir, "ss.raw");            
                if (ss.exists() == true) {
                    ss.delete();
                    Log.i(TAG, "Deleted old Screenshot file.");
                }
                String cmd = "/system/bin/cat /dev/graphics/fb0 > "+ ss.getAbsolutePath();
                runSuShellCommand(cmd);
                return null;
            }
     
            @Override
            protected void onPostExecute(Void result) {
                super.onPostExecute(result);
                _Puller = null;
            }
        }
}
код нашол здесь и если чесно то плохо его понимаю!!!((((((

Зарание спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 22:46     Преобразовать .raw в .png или .jpg
Посмотрите здесь:

Как поменять значок проги на свой png? Android
Android Как создать изображение png?
MediaPlayer выбор из Raw ? Android
Загрузка изображения jpg.to Android
MediaPlayer R.raw: Сделать функцию в которой передавалось бы название песни и она воспроизводилась Android
Прочитать файл из res/raw Android
Чтение документа не из res/raw Android
Запись строки в res/raw/file.txt Android
Android Прочитать из res/raw текст размером 1мб за наименьшее время
Android Фон jpg для layout
Android IDE не видит файл .png в папке drawable
Подпапки в res\raw Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru