用java 怎样画出方波

问题描述

给 出高电压  低电压  和 一个周期所用的时间  一周期分四段  给出每段所用的时间  如:附件里的图  问题补充:谢谢您的回答 可能是我没说清楚我的需求&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面我再补充一下&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fb.bmp 是我画的 静态的图像 <br /><br /><br /><br />我标的有&nbsp; 1,2,3,4,5,6,7,8,9 这么几段&nbsp; <br />1--8&nbsp; 代表的是时间(毫秒)也代表一个周期&nbsp;&nbsp; (注:等下下次接收到1---9 之间的值变化的时候 图形做更新)&nbsp;&nbsp;&nbsp; <br /><br /> 9代表的是低电压 到高电压 间的值 (也可以说是两个 值) <br /><br /><br />&nbsp; 我要的结果是&nbsp; 在给定的时间段内画这样的图形&nbsp;&nbsp; 纵坐标是电压&nbsp;&nbsp; 横坐标是时间&nbsp; 画完一屏 更新另一屏&nbsp;&nbsp;&nbsp; 如果一个周期(1--8)花了20毫秒&nbsp; 我一屏规定50毫秒 那就是画两个整屏和一个半屏&nbsp; 即【1---8,1---8,1----4】&nbsp; 下次接着画<br /><br />

解决方案

下面的是我自己写的一个,也不知道你的实际要求,加了点自己的想法public static void main(String[] args) throws IOException {//定义一个周期的4段时间,单位为秒,int[] circle = new int[]{10, 15, 20, 15};//定义1秒为5个像素点int scale = 5;//定义高压值、低压值,以左下角 20, -20为 0,0原点坐标,求得生成图片的宽、高//int h_voltage = 360, l_voltage = 220;//定义图像占用宽度,画布宽度int width = 0, img_width = 0;//定义图像占用高度,画布高度int height = 360, img_height = 0;for (int i : circle) {width += scale * i;}//宽度+左右各20px的空白img_width = width + 20 * 2;//图片高度 + 上下各20px的空白img_height = height + 20 * 2;BufferedImage buffImg = new BufferedImage(img_width, img_height,BufferedImage.TYPE_INT_RGB);Graphics2D g = buffImg.createGraphics();//将图像填充为白色g.setColor(Color.WHITE); g.fillRect(0, 0, img_width, img_height);//画坐标轴g.setColor(Color.BLACK); g.drawLine(20, height + 20, 20, 20);int z = 0;for (int j = 0; j < height/10; j++) {if(j % 5 == 0) {g.drawString(""+(10*5*z), 0, height + 20 + 5 - j*10);g.drawLine(20, height + 20 - j*10, 20 + 6, height + 20 - j*10);z++;} else {g.drawLine(20, height + 20 - j*10, 20 + 3, height + 20 - j*10);}}g.drawLine(20, height + 20, width + 20, height + 20);g.drawString("伏", 20 - 5, 20 - 5);g.drawString("秒", width + 20 + 5, height + 20 + 5);//画线g.setColor(Color.RED); g.drawPolyline(new int[]{20, 20 + 10*scale, 20 + 10*scale, 20 + (10+15)*scale, 20 + (10+15)*scale, 20 + (10+15+20)*scale, 20 + (10+15+20)*scale, 20 + (10+15+20+15)*scale, 20 + (10+15+20+15)*scale}, new int[]{img_height-(220 + 20), img_height-(220 + 20), img_height-(360 + 20 ), img_height-(360 + 20 ), img_height-(220 + 20), img_height-(220 + 20), img_height-(360 + 20 ), img_height-(360 + 20 )}, 8);ImageIO.write(buffImg, "jpeg", new File("C:\newImage.jpg"));}
解决方案二:
一看头晕,好复杂的数学加物理难题啊...
解决方案三:
用Java.awt.*包下的类去画,这个包下是画图的工具,靠坐标跟距离都可以

时间: 2024-11-17 08:42:37

用java 怎样画出方波的相关文章

如何在java Graphics2D 画出文字的阴影黑边效果

问题描述 如何在java Graphics2D 画出文字的阴影黑边效果 public static void setFont(String context, BufferedImage ImageNew, int x, int y, Color c) { Graphics2D g = ImageNew.createGraphics();// 得到图形上下文 g.setColor(c); // 设置画笔颜色 Color.LIGHT_GRAY g.setFont(new Font("宋体"

求关于一个用java代码画出类似水晶按钮的效果的代码

问题描述 求关于一个用java代码画出类似水晶按钮的效果的代码 最近在做个东西,但是客户要美观点,所以来求点资料,用java或者安卓的类似水晶按钮的那个功能的代码 解决方案 http://blog.csdn.net/cometnet/article/details/8464693http://www.blogjava.net/Swing/archive/2009/02/20/255676.html 解决方案二: 用ps画好图像然后加载到程序中.需要准备好正常.悬停.按下.禁用几个不同的图片,切换

graphics-java中如何画出3D的xyz坐标轴?

问题描述 java中如何画出3D的xyz坐标轴? graphics可不可以实现画出xyz坐标轴?如果可以的话求方法,不可以的话求指导如何实现,java中画出xyz轴并且在空间坐标系中画出一条直线?

gps-现在有GPS坐标,如何用java画出这些坐标的轨迹图

问题描述 现在有GPS坐标,如何用java画出这些坐标的轨迹图 已有LONLAT的坐标图,请问有什么API可以推荐一下,能够画出轨迹图的草图 谢谢 解决方案 查看百度地图,高德地图,GOOGLE地图API 解决方案二: 用百度地图api试试吧

框架-java问题,为什么画出的小球不能动

问题描述 java问题,为什么画出的小球不能动 import java.awt.*; public class New01 { public New01()//定义主类DrawFrame { Frame f=new Frame("my app");//建立框架 GamePanel mp=new GamePanel();//建立绘图容器 f.setLocation(300,200); f.setSize(300,300); f.add(mp);//将GamePanel对象添加到Frame

java swing中如何将自己画出的图形进行旋转操作

问题描述 java swing中如何将自己画出的图形进行旋转操作 就是我自己用java swing画了一个坦克,但是不知道如何在方向键按下去以后能将它进行旋转换方向,跪求各位大神指教,,谢谢啦 解决方案 我当时做的是按下方向键时调整炮筒的位置就行了,,我是用一个矩形加一条直线做的坦克 解决方案二: java 图形旋转操作

java图形- java中如何实现.画出y = sinX 以一定速度向右传播的波形图。

问题描述 java中如何实现.画出y = sinX 以一定速度向右传播的波形图. java中如何实现.画出y = sinX 以一定速度向右传播的波形图. 大概的思路是怎样的,需要用到哪些知识点 解决方案 用Java画的正弦函数 源代码http://download.csdn.net/detail/qp198906011234/1095678 解决方案二: http://www.docin.com/p-819597422.html 解决方案三: 这个帖子是绘制曲线图的,跟你的需求类似.我测试了,代

uffered mage-JAVA中JPanel图片缓存成BufferedImage,稍候将其画出,但画出为空白

问题描述 JAVA中JPanel图片缓存成BufferedImage,稍候将其画出,但画出为空白 5C 如何将JPanel画出的图像,保存在缓存区(Bufferedimage),再通过drawImage()画出来 public void paintComponent(Graphics g) { super.paintComponent(g); if (bufferedImage == null) { g.setColor(Color.red); for (int i = 0; i < numCi

java 截图-关于java截图画线的问题 求大神帮忙

问题描述 关于java截图画线的问题 求大神帮忙 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener