<button onclick= "testDrawCurve() "> 画曲线 </button>
<button onclick= "testDrawArc() "> 画弧线 </button>
<button onclick= "testDrawCircle() "> 画圆 </button>
<button onclick= "testDrawLine() "> 画线 </button>
<button onclick= "testDrawRectangle() "> 画矩形 </button>
<button onclick= "testDrawPie() "> 画饼图 </button>
<div id=div1> </div>
<SCRIPT LANGUAGE= "JavaScript ">
<!--
function testDrawCurve()
{
div1.innerHTML = drawCurve();
}
function testDrawArc()
{
div1.innerHTML =drawArc(150,150,100,0,270, "blue ")
}
function testDrawCircle()
{
div1.innerHTML = drawCircle(200,200,150, "blue ");
}
function drawCircle(x0,y0,radius,color)
{
return drawArc(x0,y0,radius,0,360,color)
}
function testDrawLine()
{
div1.innerHTML = drawLine(100,200,500,200, "yellow ")+drawLine(300,100,300,400, "black ")+drawLine(600,400,100,100, "violet ")
}
function testDrawRectangle()
{
div1.innerHTML = drawRectangle(200,100,600,200, "blue ")+drawRectangle(100,200,400,500, "red ")
}
function testDrawPie()
{
div1.innerHTML = drawPie(300,200,120,0,45, "red ");
}
function drawLine(x0,y0,x1,y1,color)
{
var rs = " ";
if (y0 == y1) //画横线
{
if (x0> x1){var t=x0;x0=x1;x1=t}
rs = " <span style= 'top: "+y0+ ";left: "+x0+ ";position:absolute;font-size:1px;background-color: "+color+ ";height:1; width: "+Math.abs(x1-x0)+ " '> </span> ";
}
else if (x0 == x1) //画竖线
{
if (y0> y1){var t=y0;y0=y1;y1=t}
rs = " <span style= 'top: "+y0+ ";left: "+x0+ ";position:absolute;font-size:1px;background-color: "+color+ ";width:1;height: "+Math.abs(y1-y0)+ " '> </span> ";
}
else
{
var lx = x1-x0
var ly = y1-y0
var l = Math.sqrt(lx*lx+ly*ly)
rs = new Array();
var px,py,px0,py0,p;
for (var i=0;i <l;i+=1)
{
p = i/l;
px = parseInt(x0 + lx*p);
py = parseInt(y0 + ly*p);
if (px0!=px || py0!= py)
rs[rs.length] = " <span style= 'top: "+py+ ";left: "+px+ ";height:1;width:1;position:absolute;font-size:1px;background-color: "+color+ " '> </span> ";
px0=px;
py0=py;
}
rs = rs.join( " ");
}
return rs
}
function drawRectangle(x0,y0,x1,y1,color)
{
x0=parseInt(x0);
x1=parseInt(x1);
y0=parseInt(y0);
y1=parseInt(y1);
if (x0 == x1 || y0 == y1) return;
if (x0> x1) {var t=x0;x0=x1;x1=t}
if (y0> y1) {var t=y0;y0=y1;y1=t}
return " <span style= 'top: "+y0+ ";left: "+x0+ ";position:absolute;background-color= "+color+ "; width: "+(x1-x0)+ " ;height: "+(y1-y0)+ " '> </span> ";
}
function drawPie(x0,y0,radius,startAngle,endAngle,color)
{
var rs = drawArc(x0,y0,radius,startAngle,endAngle,color)
startAngle = startAngle/360*Math.PI*2;
endAngle = endAngle/360*Math.PI*2;
var startx=Math.sin(startAngle)*radius+x0;
var endx=Math.sin(endAngle)*radius+x0;
var starty=Math.cos(startAngle)*radius+y0;
var endy=Math.cos(endAngle)*radius+y0;
rs += drawLine(x0,y0,startx,starty,color)
rs += drawLine(x0,y0,endx,endy,color)
return rs;
}
function drawArc(x0,y0,radius,startAngle,endAngle,color)
{
rs = new Array();
tmpar = new Array();
startAngle = startAngle/360*Math.PI*2;
endAngle = endAngle/360*Math.PI*2;
var dx,dy,dx0,dy0;
for (var i=startAngle;i <endAngle;i+=(1/radius))
{
dx = parseInt(Math.sin(i)*radius+x0);
dy = parseInt(Math.cos(i)*radius+y0);
if (dx!=dx0 || dy!=dy0)
rs[rs.length] = " <span style= 'top: "+dy+ ";left: "+dx+ ";position:absolute;height:1;width:1;position:absolute;font-size:1px;background-color: "+color+ " '> </span> ";
dx0=dx;dy0=dy;
}
return (rs.join( " "));
}
function drawCurve()
{
var rs = new Array();
for (var i=0;i <2*Math.PI;i+=.01)
{
var x = parseInt(300-Math.sin(i)*100)
var y = parseInt(300-Math.cos(i)*100)
rs[rs.length] = " <span style= 'top: "+x+ ";left: "+(i*100+90)+ " ;height:1;width:1;position:absolute;font-size:1px;background-color:blue '> </span> ";
rs[rs.length] = " <span style= 'top: "+y+ ";left: "+(i*100+90)+ " ;height:1;width:1;position:absolute;font-size:1px;background-color:blue '> </span> ";
}
return rs.join( " ");
}
//-->
想用代码做一条彩虹,学java的,理解有点慢,代码是神奇的,但是实在不会驾驭,我只会修修改改,百度了很多只找到个这个觉得好像还有点用,
但好像只有按钮啊,点又没反应,是不是用错浏览器了
分享到:
相关推荐
综上所述,用C语言在VC环境下画任意曲线涉及对Windows API的理解,尤其是GDI函数的使用。同时,可能还需要了解GLib库的原理,以便更好地适应跨平台的开发需求。在实际项目中,开发者需要根据具体需求选择合适的技术...
【标题】"实时画曲线(vc代码)"所涉及的知识点主要集中在计算机编程领域,特别是使用Visual C++(简称VC)进行图形用户界面(GUI)应用程序的开发,以及如何实现实时数据可视化,即动态绘制曲线。在VC环境中,这...
在画曲线时,我们需要创建一个`Pen`实例,设置其属性,然后使用`Graphics`对象的`DrawCurve`或`DrawLine`方法来绘制。 3. **Point结构体**:表示二维坐标系统中的一个点,通常用于定义曲线上的各个点。在绘制曲线时...
本主题将详细探讨如何使用代码来画出动态曲线图,以及如何利用网上下载的库来简化这一过程。 首先,我们需要理解曲线图的基本概念。曲线图是一种图形,通过连接一系列数据点来展示数据的变化趋势或关系。在二维坐标...
`OSGPlusLineChart.cpp` 和 `OSGPlusLineChart.h` 文件分别包含了实现和声明曲线绘制的核心代码。在C++编程中,`.cpp` 文件通常包含函数的实现,而`.h` 文件则定义了类或函数的接口,供其他部分的代码引用。 首先,...
在VC++(Visual C++)开发环境中,画曲线是一项...以上内容涵盖了在VC++环境下使用GDI和GDI+画曲线的基本概念、方法和实践,希望对你理解这个主题有所帮助。在实际项目中,你可能需要根据具体需求调整和优化这些方法。
这是一份C语言版本的b样条曲线算法代码,可以实现二次和三次的b样条曲线绘制,可作为曲线平滑或者曲线拟合的代码使用。代码实现封装为连个函数,一个是实现给定三点或者四点计算样条曲线平滑点,一个是计算一些列...
VB画曲线是指使用Visual Basic(VB)语言进行图形绘制的一种技术。VB画曲线可以生成各种曲线、直线、矩形、圆形等图形,广泛应用于图形绘制、数据可视化、游戏开发等领域。 1. VB画曲线的函数参数含义 VB画曲线...
在这个场景中,我们要讨论的是如何在VS2010中使用C#来实现一个坐标系并画出曲线。这个任务涉及到图形绘制和数据可视化,对于数据分析、游戏开发或是科学计算等领域都是十分重要的。 首先,我们需要理解坐标系的基本...
MATLAB是一种强大的编程环境,尤其适合进行数值计算和可视化操作,因此,用MATLAB实现NURBS曲线的计算和绘制是非常常见的需求。 首先,我们来看`nurbsfun.m`这个文件,这可能是主函数,用于调用其他子函数并执行...
主要的Hermite功能代码封装成函数,可以很方便地调用,另外还编写一段测试代码,方便初学者充分理解如何去使用这个函数。一共编写了三个hermite平滑函数,第一个是两点hermite平滑,根据两点坐标以及两点的切线向量...
这个主题通常包括如何生成数据、如何用数据绘制曲线以及如何对曲线进行定制化调整。让我们详细探讨一下这些知识点。 首先,我们要理解MATLAB中的绘图基础。MATLAB提供了一个强大的图形环境,可以方便地创建二维和三...
主要的Hermite功能代码封装成函数,可以很方便地调用,另外还编写一段测试代码,方便初学者充分理解如何去使用这个函数。一共编写了三个hermite平滑函数,第一个是两点hermite平滑,根据两点坐标以及两点的切线向量...
vc将数组里的数画成曲线画曲线代码,需要先下载支持graphics.h的库
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库在Windows应用程序中实现鼠标画曲线的功能。MFC是Microsoft提供的一套C++类库,它为开发者提供了构建Windows应用程序的便捷框架。我们将主要...
在VB(Visual Basic)编程环境中,画动态曲线是一项常见的任务,尤其在数据分析、模拟和可视化应用中。VB语言提供了一种简单易用的方式来创建图形用户界面(GUI)并绘制图形,包括动态曲线。下面我们将详细讲解如何...
贝塞尔曲线是一种在计算机图形学中广泛使用的参数化曲线,特别是在二维图形绘制和动画中。本文将深入探讨贝塞尔曲线的基本概念,以及如何使用C++编程语言实现这种曲线的绘制。 贝塞尔曲线由法国工程师皮埃尔·...
matlab 画双曲线 两种方法:ezplot函数和纯代码。。。
VB 利用数组画曲线 VB 中给定相应数组,画出对应曲线,效果还是不错的,可以参照修改。下面将详细介绍如何在 VB 中...通过设置 Chart 的背景颜色和坐标轴的范围,并使用数组来画出曲线图,可以实现画出曲线的功能。
如果曲线数据量大,可能会影响性能。这时可以考虑分块绘制,或者使用双缓冲技术来提高绘制速度。 7. **曲线样式和颜色** 可以通过设置`Pen`对象的属性来改变曲线的颜色、宽度、线型等样式。 通过以上方式,你...