社区
Java SE
帖子详情
Graphics 的 drawImage() 为什么有时画不出来?
u010116554
2014-12-23 12:00:50
上面这个程序中g.drawImage可以画出桌面
但是程序改成这样就画不出来了
这是怎么回事?
...全文
496
3
打赏
收藏
Graphics 的 drawImage() 为什么有时画不出来?
上面这个程序中g.drawImage可以画出桌面 但是程序改成这样就画不出来了 这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
u010116554
2014-12-23
打赏
举报
回复
在第二个程序中 导入 import java.lang.Thread; 再把 Sub_JFrame 的 draw 方法改成 public void draw(){ Graphics g = this.getGraphics(); try{ Thread.sleep(53); }catch(Exception e){ e.printStackTrace(); } g.drawOval(0,0,100,100); g.drawImage(desktop,0,0,null); } 就是加个延时,又能画出来了,这是怎么回事? 那个 53延时 是最小的延时,再小改成 52 以下就又画不出来了,这是怎么回事?
u010116554
2014-12-23
打赏
举报
回复
第二个: import javax.swing.JFrame; import java.awt.Image; import java.awt.Robot; //(自动)机器人类,本程序用于截屏 import java.awt.Dimension; import java.awt.Toolkit; import java.awt.Rectangle; import java.awt.Graphics; public class L{ public static void main(String[] args){ //new Sub_JFrame().setVisible(true); Sub_JFrame sj = new Sub_JFrame(); sj.setVisible(true); sj.draw(); } } class Sub_JFrame extends JFrame{ Image desktop; Dimension size; Sub_JFrame(){ this.init(); } private void init(){ this.setUndecorated(true); //设置未装饰 —— 无边框外饰 this.setExtendedState(JFrame.MAXIMIZED_BOTH); //设置扩展状态 —— 横纵双向最大化 size = Toolkit.getDefaultToolkit().getScreenSize(); //获取屏幕尺寸 try{ //捕获屏幕(截屏) desktop = new Robot().createScreenCapture(new Rectangle(0,0,(int)size.getWidth(),(int)size.getHeight())); }catch(Exception e){ e.printStackTrace(); } this.setDefaultCloseOperation(Sub_JFrame.DISPOSE_ON_CLOSE); //正常关闭程序, } /*public void paint(Graphics g){ g.drawImage(desktop,0,0,null); }*/ public void draw(){ Graphics g = this.getGraphics(); g.drawImage(desktop,0,0,null); } }
u010116554
2014-12-23
打赏
举报
回复
第一个: import javax.swing.JFrame; import java.awt.Image; import java.awt.Robot; //(自动)机器人类,本程序用于截屏 import java.awt.Dimension; import java.awt.Toolkit; import java.awt.Rectangle; import java.awt.Graphics; public class L{ public static void main(String[] args){ new Sub_JFrame().setVisible(true); /*Sub_JFrame sj = new Sub_JFrame(); sj.setVisible(true); sj.draw();*/ } } class Sub_JFrame extends JFrame{ Image desktop; Dimension size; Sub_JFrame(){ this.init(); } private void init(){ this.setUndecorated(true); //设置未装饰 —— 无边框外饰 this.setExtendedState(JFrame.MAXIMIZED_BOTH); //设置扩展状态 —— 横纵双向最大化 size = Toolkit.getDefaultToolkit().getScreenSize(); //获取屏幕尺寸 try{ //捕获屏幕(截屏) desktop = new Robot().createScreenCapture(new Rectangle(0,0,(int)size.getWidth(),(int)size.getHeight())); }catch(Exception e){ e.printStackTrace(); } this.setDefaultCloseOperation(Sub_JFrame.DISPOSE_ON_CLOSE); //正常关闭程序, } public void paint(Graphics g){ g.drawImage(desktop,0,0,null); } /*public void draw(){ Graphics g = this.getGraphics(); g.drawImage(desktop,0,0,null); }*/ }
drawimage
的用法 java_Java
Graphics
.
drawImage
方法代码示例
本文提供了30个Java中javax.microedition.lcdui.
Graphics
类的
drawImage
方法使用示例,涵盖从简单绘图到复杂场景绘制的应用,帮助读者理解和掌握
drawImage
方法的使用技巧。
drawimage
的用法 java_JAVA
Graphics
类中
drawImage
方法怎么用
本文详细介绍了Java中
Graphics
类的
drawImage
方法使用技巧,通过具体示例展示了如何在Swing组件如JPanel上加载并显示图像。
[C#]
Graphics
.
DrawImage
图像质量变差
本文介绍了在使用C#的
Graphics
.
DrawImage
方法时遇到的图像质量变差问题,原因是
DrawImage
会根据设备DPI进行缩放。为了解决这个问题,可以通过设置Bitmap的分辨率到96DPI或在调用
DrawImage
时指定目标矩形尺寸,避免自动缩放,从而提高图像质量。
Graphics
::
DrawImage
()函数的使用
本文介绍了
Graphics
::
DrawImage
()函数的使用,包括如何在指定位置(x, y)绘制图像,以及如何进行整体和部分图像的缩放。注意,该函数会根据分辨率自动调整图像大小,可能导致显示尺寸与源图像不同。 104670389,8240581,手动安装nginx到指定路径,['nginx', 'linux', 'centos']
GDI+
Graphics
.
DrawImage
使用
本文介绍了一种将多张位图高效拼接成一张整体图的方法。通过调整子图分辨率并利用
Graphics
.
DrawImage
()的不同重载形式,在确保图像质量的同时减少处理时间。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章