我正在尝试开发一种无线电话投影仪,其中我将使用连接投影仪的 PC 在投影仪上显示电话屏幕。
我对如何在 j2me 中捕获任何正在运行的应用程序的屏幕截图感到有点困惑。
你能帮我吗?
只想在 j2me 中截屏
我正在尝试开发一种无线电话投影仪,其中我将使用连接投影仪的 PC 在投影仪上显示电话屏幕。
我对如何在 j2me 中捕获任何正在运行的应用程序的屏幕截图感到有点困惑。
你能帮我吗?
只想在 j2me 中截屏
我不太确定你想做什么,但如果你正在考虑让你的应用程序获取屏幕截图的方法,那么我可以说你可以做也不能做。为什么你做不到?假设您在创建屏幕时使用画布。我认为没有办法将画布转换为图像。画布仅限于在手机屏幕上绘制自身。但是,就像我之前所说的,您也可以创建应用程序屏幕的屏幕截图。您需要的是 Canvas 上的 Image 对象。为什么是图像?这是因为 Image 对象可以转换为图像文件。图像文件将成为您的屏幕截图。但是,当然,应该有一些东西可以动态地为画布上的图像对象创建图像源。
Image myScreen = Image.createImage(createScreen());
创建屏幕的方法:
InputStream createScreen(){
//dynamically creates the source of the screen
}
您可以使用myScreen 进行屏幕截图。这里的缺点是渲染速度很慢。这是可能的,但我认为这有点难以实施。
使用此代码段,您可以在您的应用中拍摄 Canvases 的“屏幕截图”:
public Image getScreenShot() {
Image screenshot = Image.createImage(getWidth(), getHeight());
Graphics g = screenshot.getGraphics();
paint(g);
return Image.createImage(screenshot);
}
将getScreenShot()添加到任何你想要“截图”的画布上。然后你可以得到它的 RGB 并转换为 byte[] 并在网络上传递它。
参考:
developer.nokia