「java画图失真」失真图像怎么画
今天给各位分享java画图失真的知识,其中也会对失真图像怎么画进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 在panel上画图为什么坐标错误?急求大神帮助!!
- 2、用java画图 出现了43个错误
- 3、java绘图,怎么解决显示不流畅的问题?
- 4、java中多线程绘图后出错
- 5、Java画图的小问题
java 在panel上画图为什么坐标错误?急求大神帮助!!
是边界或者边框问题,同时也不建议直接在JFrame上画图,应该在JPanel上直接画,因为是相对坐标,所以程序坐标不需要变动
用java画图 出现了43个错误
public TankWar{
----
public TankWar(){
这个类,
class MyTank extends Tank {
public MyTank {
super(x,y);
}
}
创建得太过牵强,没有别的属性方法,创建来干嘛
java绘图,怎么解决显示不流畅的问题?
参考:
1、采用BufferedImage对象进行缓冲
这种方法是最简单,同时也是最常用的双缓冲构建方式,也就是构建一个BufferedImage缓冲当前绘图,所有Graphics操作在其上进行,仅在需要时才将贴图paint于窗体之上,使用上再简单不过,但效率如何呢?文章进行到此处时尚不得而知。
2、采用BufferStrategy构建缓冲区
使用BufferStrategy构建缓冲能够获得系统所提供的硬件加速,Java系统会根据本地环境选择最适合的BufferStrategy。要创建 BufferStrategy ,需要使用 createBufferStrategy() 方法告诉系统你所期望的缓冲区数目(通常使用双缓冲,也就是填入“2”),并使用 getDrawGraphics() 方法在缓冲区之间进行交换,该方法返回下一个要使用的缓冲区。BufferStrategy最大的缺点与优点都在于其受本地图形环境影响,既不会出现很快的图形环境跑出很慢的FPS,也别指望很慢的图形环境跑出很快的FPS。
3、完全在BufferedImage的DataBuffer中进行图像处理
每个BufferedImage都有一个与之对应得WritableRaster对象(getRaster方法获得),通过它我们获得指定BufferedImage的DataBuffer(getDataBuffer方法获得),与方法1类似,我们同样构建一个BufferedImage缓冲当前所有绘图,所有操作都在其上进行,仅在需要时才将贴图paint于窗体之上。但区别在于,由于DataBuffer可以转化为描述BufferedImage象素点的int[],byte[]或short[]等数组集合,因此我们不再使用Java提供的Graphics对象,而是直接操作像素点进行所有绘图的实现。 但是,这样进行数组操作会快吗?
现在我们为其各自构建三个示例,尽量以比较趋同的处理流程构建,分别测算三种方法的具体效率。
java中多线程绘图后出错
个人认为应该是现成之间的问题……你说了单线程没事,
那就在你的绘制函数中加入synchronized
synchronized(this){
你的绘图方法……
}
当然 这样的话也可能出现现成死锁问题
我一般改变界面后都会调用this.repaint()
不过有人说……不好
Java画图的小问题
你的程序的问题在于你对于布局管理器不够熟悉
FlowLayout默认是顺序摆放Panel 此时布局管理器不负责修改Panel的大小
而你并没有设置你的J_JPanel的大小 所以实际上你的界面上虽然有这个面板 但是大小确实0 所以你看不到你画的这条斜线
修改方法1:去掉c.setLayout(new FlowLayout());这句
默认JFrame的ContentPane的Layout是BorderLayout BorderLayout会把中间单元拉伸至最大 这样就可以显示出你的J_JPanel了
修改方法2:给你的J_JPanel设置大小 使用setPreferredSize()既可
我推荐方法1 布局尽量让布局管理器管理
关于java画图失真和失真图像怎么画的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。