Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void Button_Clicked(object sender, System.EventArgs e)
- {
- //procedimento
- }
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- private void Button_Clicked(object sender, System.EventArgs e)
- {
- // String que recebe o endereço da pasta onde será salva o arquivo
- string path = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.Path, "PrintDirectory");
- // Busca a view principal de sua aplicação
- View v1 = Window.DecorView.RootView;
- v1.DrawingCacheEnabled=true;
- // Cria uma cache para escrever a imagem do tipo bitmap
- Android.Graphics.Bitmap bitmap = Android.Graphics.Bitmap.CreateBitmap(v1.GetDrawingCache(true));
- // Instancia o arquivo na pasta de destino. Neste caso o nome do arquivo será de acordo com o horário, pois garante que não terá arquivos com nomes iguais
- Java.IO.File imageFile = new Java.IO.File(path, System.Environment.TickCount + ".jpg");
- // Cria um fluxo de bytes para escrever os bytes capturados da tela
- System.IO.MemoryStream bytes = new System.IO.MemoryStream();
- int quality = 100;
- // Verifica se a pasta destino existe, caso não exista, cria a pasta no cartão SD
- System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(path);
- if (!dir.Exists)
- dir.CreateSubdirectory(path);
- // Cria um fluxo de escrita para o arquivo destino
- Java.IO.FileOutputStream fo;
- imageFile.CreateNewFile();
- fo = new Java.IO.FileOutputStream(imageFile);
- //Converte o bitmap para JPEG
- bitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Jpeg, quality, bytes);
- // Escreve o arquivo com o print na pasta e depois o fecha-o
- fo.Write(bytes.ToArray());
- fo.Close();
- }
Add Comment
Please, Sign In to add comment