Guest User

Untitled

a guest
Jul 19th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. private void Button_Clicked(object sender, System.EventArgs e)
  2. {
  3. //procedimento
  4. }
  5.  
  6. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  7.  
  8. private void Button_Clicked(object sender, System.EventArgs e)
  9. {
  10. // String que recebe o endereço da pasta onde será salva o arquivo
  11. string path = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.Path, "PrintDirectory");
  12.  
  13. // Busca a view principal de sua aplicação
  14. View v1 = Window.DecorView.RootView;
  15. v1.DrawingCacheEnabled=true;
  16.  
  17. // Cria uma cache para escrever a imagem do tipo bitmap
  18. Android.Graphics.Bitmap bitmap = Android.Graphics.Bitmap.CreateBitmap(v1.GetDrawingCache(true));
  19.  
  20. // 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
  21. Java.IO.File imageFile = new Java.IO.File(path, System.Environment.TickCount + ".jpg");
  22.  
  23. // Cria um fluxo de bytes para escrever os bytes capturados da tela
  24. System.IO.MemoryStream bytes = new System.IO.MemoryStream();
  25. int quality = 100;
  26.  
  27.  
  28. // Verifica se a pasta destino existe, caso não exista, cria a pasta no cartão SD
  29. System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(path);
  30. if (!dir.Exists)
  31. dir.CreateSubdirectory(path);
  32.  
  33.  
  34. // Cria um fluxo de escrita para o arquivo destino
  35. Java.IO.FileOutputStream fo;
  36. imageFile.CreateNewFile();
  37. fo = new Java.IO.FileOutputStream(imageFile);
  38.  
  39. //Converte o bitmap para JPEG
  40. bitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Jpeg, quality, bytes);
  41.  
  42. // Escreve o arquivo com o print na pasta e depois o fecha-o
  43. fo.Write(bytes.ToArray());
  44. fo.Close();
  45. }
Add Comment
Please, Sign In to add comment