【发布时间】:2012-02-09 10:46:18
【问题描述】:
我正在尝试开发一种无线手机投影仪,其中我将使用连接投影仪的 PC 在投影仪上显示手机屏幕。
我对如何在 j2me 中捕获任何正在运行的应用程序的屏幕截图感到有点困惑。
你能帮忙吗?
只想在 j2me 中截屏
【问题讨论】:
标签: java-me screenshot capture projector
我正在尝试开发一种无线手机投影仪,其中我将使用连接投影仪的 PC 在投影仪上显示手机屏幕。
我对如何在 j2me 中捕获任何正在运行的应用程序的屏幕截图感到有点困惑。
你能帮忙吗?
只想在 j2me 中截屏
【问题讨论】:
标签: java-me screenshot capture projector
我不太确定您想做什么,但如果您正在考虑让您的应用获取屏幕截图的方法,那么我可以说的是您可以做也不能做。为什么你做不到?假设您在创建屏幕时使用画布。我认为没有办法将画布转换为图像。画布仅限于在手机屏幕上绘制自身。但是,就像我之前所说的,您也可以创建应用程序屏幕的屏幕截图。您需要的是 Canvas 上的 Image 对象。为什么是图像?这是因为 Image 对象可以转换为图像文件。图像文件将成为您的屏幕截图。但是,当然,应该有一些东西可以为画布上的图像对象动态创建图像源。
Image myScreen = Image.createImage(createScreen());
创建屏幕的方法:
InputStream createScreen(){
//dynamically creates the source of the screen
}
您可以使用 myScreen 进行屏幕截图。 这里的缺点是渲染速度很慢。这是可能的,但我认为这有点难以实施。
【讨论】:
使用这个 sn-p 代码,您可以在您的应用中拍摄 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
【讨论】: