|
Iniciado por Wagner Campos de Almeida, mai., 22 2017 10:35 PM - 10 respostas |
| |
| | | |
|
| |
Publicado em maio, 22 2017 - 10:35 PM |
Boa tarde a todos!
Estou tentando criar uma aplicação mobile que gere o resultado de uma simulação em uma imagem, para que possa ser enviada via Whatsapp e afins. Tentei utilizar o Supercontrol "Screen shot", criando uma tela com os resultados e printando a tela, porém a funcionalidade funciona no simulador, mas não funciona no Android. Consegui resumir em 3 etapas como segue abaixo:
IMG_SC..Width=WinOutWidth() ; IMG_SC..Height=WinOutHeight()
dCopyBlt(copyScreen,IMG_SC,copySrcCopy,WinOutXPos(),WinOutYPos(),WinOutHeight(),WinOutWidth())
dSaveImageJPEG(IMG_SC,sNameImageFile,100)
Alguém teria alguma dica sobre somo fazer o Screen shot funcionar no Android ou como gerar uma imagem com a informações desejadas?
Grato,
Wagner Campos. |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 23 2017 - 8:00 PM |
Prezado Wagner
MyImage is Image MyImage = dCopyScreenImage()
IMG_Image = MyImage
https://help.windev.com/en-US/…
Sintaxe
<Resultado> = dCopyScreenImage ([<X> [, <Y> [, <Largura> [, <Altura>]]])
<Resultado>: Imagem ou Binary Buffer variável
Nome da variável Image que conterá a captura de tela
Memória binária correspondente à imagem. Esse buffer pode ser atribuído diretamente a um controle Image.
<X>: Número inteiro opcional
Coordenada X (em pixels) do canto superior esquerdo da área da tela para copiar (0 por padrão, correspondente ao canto superior esquerdo da tela).
<Y>: Número inteiro opcional
Coordenada Y (em pixels) do canto superior esquerdo da área da tela para copiar (0 por padrão, correspondente ao canto superior esquerdo da tela).
<Largura>: Número inteiro opcional
Largura (em pixels) da área da tela para copiar (largura da tela por padrão).
<Height>: Número inteiro opcional
Altura (em pixels) da área da tela para copiar (altura da tela por padrão).
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 23 2017 - 8:01 PM |
Atenção
Procure evitar vários post sobre o mesmo assunto
ok
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 23 2017 - 8:10 PM |
import java.awt.AWTException; import java.awt.Robot; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.ImageIO;
PUBLIC static void ScreenCapture(string args[]) throws AWTException, IOException {
BufferedImage screencapture = new Robot().createScreenCapture( new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
File File = new File("screencapture.jpg"); ImageIO.write(screencapture, "jpg", File);
File File = new File("screencapture.png"); ImageIO.write(screencapture, "png", File); }
To capture a specific area
BufferedImage screencapture = new Robot().createScreenCapture( new Rectangle( 15, 15, 150, 150));
To capture a specific visual object
BufferedImage Image = new Robot().createScreenCapture( new Rectangle( myframe.getX(), myframe.getY(), myframe.getWidth(), myframe.getHeight() ) );
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, maio, 23 2017 - 8:12 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 23 2017 - 8:14 PM |
package net.codejava.graphics;
import java.awt.AWTException; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;
import javax.imageio.ImageIO;
/** * This program demonstrates how to capture a screenshot (full screen) * as an Image which will be saved into a File. * @author www.codejava.net * */ PUBLIC class FullScreenCaptureExample {
PUBLIC static void main(string[] args) { try { Robot robot = new Robot(); string format = "jpg"; string fileName = "FullScreenshot." + format;
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); BufferedImage screenFullImage = robot.createScreenCapture(screenRect); ImageIO.write(screenFullImage, format, new File(fileName));
System.out.println("A full screenshot saved!"); } catch (AWTException | IOException ex) { System.err.println(ex); } } }
DEFINIÇÃO DA AREA
Dimension ScreenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle captureRect = new Rectangle(0, 0, screenSize.width / 2, screenSize.height / 2);
CODIGO COMPLETO
package net.codejava.graphics; import java.awt.AWTException; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;
import javax.imageio.ImageIO;
/** * This program demonstrates how to capture screenshot of a portion of screen. * @author www.codejava.net * */ PUBLIC class PartialScreenCaptureExample {
PUBLIC static void main(string[] args) { try { Robot robot = new Robot(); string format = "jpg"; string fileName = "PartialScreenshot." + format;
Dimension ScreenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle captureRect = new Rectangle(0, 0, screenSize.width / 2, screenSize.height / 2); BufferedImage screenFullImage = robot.createScreenCapture(captureRect); ImageIO.write(screenFullImage, format, new File(fileName));
System.out.println("A partial screenshot saved!"); } catch (AWTException | IOException ex) { System.err.println(ex); } } }
http://www.codejava.net/java-se/graphics/how-to-capture-screenshot-programmatically-in-java
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 23 2017 - 8:16 PM |
VC DEVE CLICAR NO TOPO DO CODIGO ONDE TEM WLE DAR 2 CLICK VAI MUDAR PARA JAVA ISSO NUMA PROCEDURE NOVA
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 23 2017 - 8:18 PM |
OU...
https://stackoverflow.com/questions/58305/is-there-a-way-to-take-a-screenshot-using-java-and-save-it-to-some-sort-of-image
import java.awt.Color; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import javax.swing.*; public void captureScreen(String fileName) throws Exception { Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); BufferedImage capture = new Robot().createScreenCapture(screenRect); ImageIO.write(capture, "bmp", new File(args[0])); }
import java.awt.Color; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import javax.swing.*; public void captureScreen(String fileName) throws Exception { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRectangle = new Rectangle(screenSize); Robot robot = new Robot(); BufferedImage image = robot.createScreenCapture(screenRectangle); ImageIO.write(image, "png", new File(fileName)); }
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, maio, 23 2017 - 8:20 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 123 mensagems Popularité : +46 (46 votes) |
|
Publicado em maio, 25 2017 - 8:45 PM |
criar uma procedure Global do tipo JAVA e colocar o seguinte código
import java.util.Date; import java.io.File; import android.graphics.Bitmap; import android.view.View; import java.io.FileOutputStream; import android.os.Environment; import android.util.Log; public static boolean tela(String pasta_a_salvar, String nome_img) { try { // caminho da IMG String mPath = pasta_a_salvar + "/" + nome_img + ".jpg"; // criar bitmap da tela View v1 = getCurrentActivity().getWindow().getDecorView().getRootView(); v1.setDrawingCacheEnabled(true); Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache()); v1.setDrawingCacheEnabled(false); //criar o arquivo vazio File imageFile = new File(mPath); //jogar pro arquivo a IMG FileOutputStream outputStream = new FileOutputStream(imageFile); int quality = 100; bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream); outputStream.flush(); outputStream.close(); return true; } catch (Throwable e) { // aqui si estiver com o CAT (device monitor) pode ver log de erro e.printStackTrace(); return false; } }
dai na Janela onde quiser usar basta colocar em um Botão este codigo
s_folder is string s_name is string s_folder = fCurrentDir() s_name = SysDateTime() IF tela(s_folder,s_name) THEN ToastDisplay("PrintScreen OK",toastShort,vaBottom,haCenter) ELSE Error("Erro ao Tirar PrintScreen") END TAGS: printscreen, screenshot, tela, captura, image -- Atte. Willian FernandoMensagem modificada, maio, 25 2017 - 8:53 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 25 2017 - 9:21 PM |
tem que ter privilegio de WRITE_EXTERNAL_STORAGE
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, maio, 25 2017 - 9:23 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 25 2017 - 10:42 PM |
Para abrir a imagem do printscreen:
IF fFileExist(s_folder + "/" + s_name + ".jpg") THEN Info("Arquivo existe") ShellExecute(s_folder + "/" + s_name + ".jpg") ELSE Info("Arquivo não existe") END
"/" = sistema operacional do android é linux a barra de diretório é = /
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, maio, 25 2017 - 10:43 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em maio, 25 2017 - 10:46 PM |
COMPARTILHAR NO WHATSAPP
Android
sPath is string = CompleteDir(SysDirStorageCard()) + "MyImage.png" IF dSaveImagePNG(IMG_Image, sPath) = True THEN NextTitle("Sharing an image") StartShare(sPath) END
iPhone/iPad
sPath is string = CompleteDir(fCurrentDir()) + "MyImage.png" IF dSaveImagePNG(IMG_Image, sPath) = True THEN NextTitle("Sharing an image") StartShare(sPath) END
IF StartShare(shareText, EDT_Edit) = False THEN Error(ErrorInfo()) END
https://help.windev.com/en-US/…
https://help.windev.com/en-US/?1000020620&name=StartShare
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, maio, 25 2017 - 10:48 PM |
| |
| |
| | | |
|
| | | | |
| | |
|