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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
RosPC
-6 / 3 / 0
Регистрация: 21.09.2012
Сообщений: 80
#1

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

29.11.2012, 22:46. Просмотров 744. Ответов 0
Метки нет (Все метки)

Здравствуйте) у меня програма тянит скриншот екрана с буфера... и записевает в 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 (Программирование Android):

Преобразовать JPG или PNG в BMP - C++ Builder
Есть код: if(clk == &quot;jpg&quot; || clk == &quot;JPG&quot; || clk == &quot;JPEG&quot; || clk == &quot;jpeg&quot;) { try { jpg-&gt;LoadFromStream(s); ...

Как преобразовать рисунок из "png" в "bmp" или в "jpg"? - Visual Basic
Есть программка, которая ставит обои рабочего стола на выбор пользователя, она может поставить только &quot;jpg&quot; и &quot;bmp&quot;, так как &quot;png&quot; тоже...

jpg или png Картинка в диалоговом окне - Visual C++
как отобразить картинку png или jpg формата в диалоговом окне. Смотрел http://www.cyberforum.ru/visual-cpp/thread22717.html, но там только...

Програмное изменение jpg или png изображения, без изменения его отображения - C#
Добрый вечер. Поступила следующая задача. Рандомизовать jpg или png изображения, без изменения его отображения. Нужно это чтобы обойти...

Какое расширение выбрать JPG/GIF/PNG-8/PNG-24 - HTML, CSS
Применение их

Приложение, позволяющее просматривать любые изображения в формате gif, jpg или png из указанного каталога - Java
Добрый Вечер, Я начинающий в GUI, и вообще не знаю с чего начать. Пытался что либо найти похожего в интернете что бы по примерам,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 22:46
Привет! Вот еще темы с ответами:

Надо загрузить только фотографии на сервер формата JPG, GIF или PNG размером меньше 3 метров. - Perl
Поставь модуль Image::Magick; вот с его помощью можно делать с графическими файлами всё что угодно. в том числе проверку на...

Png и jpg - PHP
у меня в одной папке с изображениями половина файлов с расширениями png а половина jpg, и скрипт для того чтобы достать картинку проверяет...

Из .png в .jpg - PHP
Привет всем. Нужна Ваша помощь При переходе на страничку релиза генерируется кэшированные картинки на сервере, как немного изменить...

Конвертировать png в jpg - VBA
Всем привет! Может кто знает решение моей задачи. В папке лежит фотография в формате &quot;.png&quot;, как с помощью VBA пере конвертировать...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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