javascript画圆(js画一个圆)

本篇文章给大家谈谈javascript画圆,以及js画一个圆对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、怎么在图片上画圆网页代码2、ArcGIS API for JavaScript根据点坐标画圆3、怎样用Javascript画个实心圆和计算器4、JavaScript怎样做出一个画圆圈的效果啊,比如一张图片是一个小圆点,怎样让这个小圆点以20p5、d3.js画圆弧和圆的坐标、弧长计算方法6、用js简单的画个圆

怎么在图片上画圆网页代码

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

第一步:实现思路。

1、在页面上引入图片,将图片放入到一个div标签中,将div的大小和图片设置一致

2、借助于jquery的画圆工具在div上画圆,视觉上达到影响图片的效果

2

第二步:下载jquery.min.js包。

第二步:下载jquery具体操作方法,再百度或搜狗浏览器中输入“jquery下载”点击搜索按钮–》得到查询结果进入下载界面–》

第二步:编辑代码。

打开编辑工具–引入jquery–编写代码,具体如下所示:

!DOCTYPE html

html

head

  meta charset=”UTF-8″

  title画圆/title

style

#drawing {

width: 500px;

height: 500px;

border:1px solid;

position: relative;

overflow: hidden;

}

.circle {

background-color: green;

position: absolute;

}

/style

script src=”js/jquery-3.3.1.js”/script

script

$(document).ready(function() {

// 圆

var $circle = null;

// 画布

var $drawing = $(“#drawing”);

// 圆心位置

var centerX = 0;

var centerY = 0;

// 是否正在画圆

var isDrawing = false;

// 按下鼠标开始画圆

$drawing.mousedown(function(event) {

$circle = $(‘div/div’);

centerX = event.pageX – $drawing.offset().left;

centerY = event.pageY – $drawing.offset().top;

$(this).append($circle);

isDrawing = true;

event.preventDefault();

});

// 鼠标拖动

$(document).mousemove(function(event) {

if(isDrawing) {

var radiusX = Math.abs(event.pageX – $drawing.offset().left – centerX);

var radiusY = Math.abs(event.pageY – $drawing.offset().top – centerY);

var radius = Math.sqrt(radiusX * radiusX + radiusY * radiusY); // 半径,勾股定理

// 下面四个条件判断是限制圆不能超出画布区域,如果不需要这个限制可以去掉这段代码

if(centerX – radius 0) {

radius = centerX;

}

if(centerY – radius 0) {

radius = centerY;

}

if(centerX + radius $drawing.width()) {

radius = $drawing.width() – centerX;

}

if(centerY + radius $drawing.height()) {

radius =  $drawing.height() – centerY;

}

// 设置圆的大小和位置

$circle.css(“left”, centerX – radius + “px”);

$circle.css(“top”, centerY – radius + “px”);

$circle.css(“width”, 2 * radius + “px”);

$circle.css(“height”, 2 * radius + “px”);

$circle.css(“border-radius”, radius + “px”);

}

});

// 鼠标松开停止画圆

$(document).mouseup(function() {

isDrawing = false;

});

});

/script

/head

body

div id=”drawing”

img width=”502px;” height=”502px;” src=”img/cartoon/火影.jpg” /

/div

/body

/html

第四步:测试。

1、打开页面,页面展示一张火影图片

2、左键单击,按住拉,以左键第一次点击位置为中心向外延伸出一个圆

3、重新刷新页面,图片恢复原样。

javascript画圆(js画一个圆)

ArcGIS API for JavaScript根据点坐标画圆

1. 给出一个点的坐标和半径。要求以这个点为圆心,以半径绘出一个圆圈。并且对特定的2个图层进行查询,把落入这个圆圈的空间对象标记出来,并且可以点击产生infowindow

解决思路:

a. 先通过GeometryService (几何服务)绘制出一个buffer的圆。

b. 把这个buffer,也就是一个graphic 放入到 map的graphics中显示

c. 然后定义一个query ,并且对此 query的geometry 指定为这个 buffer. 这样所有的查询结果就会是:查询出的空间对象落入这个buffer中。

d.定义一个featureLayer,对这个featureLayer 和 这个query 进行 selectFeatures 方法调用。

e. 对查询后调用的函数中,进行每个graphic 设置 infowindow 和 加入 map的graphic 。

这样就完成了需求。

/* 以一个map上标记的点 为圆心,以指定的半径标记一个圆圈

do buffer

*/

sky.gis.Context.prototype.doBuffer = function (point,buffer_radius,lineColor,lineWidth,fillColor,infoWidth,infoHeight,url)

{

var infoTemplate = new esri.InfoTemplate();

infoTemplate.setTitle();

infoTemplate.setContent(“iframe src=${iframe_url} height=”+infoHeight+” width=”+infoWidth+””);

_map.infoWindow.resize(infoWidth, infoHeight);

//setup the buffer parameters

var bufferParams = new esri.tasks.BufferParameters();

bufferParams.geometries = [ point ];

bufferParams.distances = [ buffer_radius ];

bufferParams.outSpatialReference = self._map.spatialReference;

// bufferParams.unit = esri.tasks.GeometryService.esriDecimalDegrees;

bufferParams.unit = esri.tasks.GeometryService.esriMeters;

self.gsvc.buffer(bufferParams,function showBuffer(buffers)

{ //做buffer处理

dojo.forEach(buffers, function(b) {

var bufferGeometry = b;

//根据指定的颜色和线色进行填充。画出一个圆

var sfs = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,

new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,lineColor, lineWidth),

fillColor

);

var graphic = new esri.Graphic(bufferGeometry, sfs);

if (graphic.attributes == null)

{

graphic.attributes = new Object();

graphic.attributes.iframe_url = new Object();

console.debug(graphic.attributes.iframe_url);

}

graphic.attributes.iframe_url = url;

// graphic.setInfoTemplate(infoTemplate); //可以指定这个圆圈的infowindow

self._map.graphics.add(graphic); //把这个圆圈显示出来

//开始查询

var query = new esri.tasks.Query();

query.geometry = bufferGeometry; //指定查询出的空间对象一定要落在这个圆圈内

// 查询落入buffer层的门板信息点

self._bufferFeatureLayer = new esri.layers.FeatureLayer(infoLayerURL,

{

mode: esri.layers.FeatureLayer.MODE_SELECTION,

outFields: [“*”]

});

self._bufferFeatureLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW, function(results){

dojo.forEach(results,function(result) { //对查询出的结果进行遍历。把graphic 放入map的graphics中

var graphic = result;

symbol = new esri.symbol.PictureMarkerSymbol(‘./imgs/infos.jpeg’, 32, 32);

graphic.setInfoTemplate(infoTemplate);

graphic.setSymbol(symbol);

self._map.graphics.add(graphic);

});

});

// 查询落入buffer层的摄像头信息点

self._bufferFeatureLayer = new esri.layers.FeatureLayer(cameraLayerURL,

{

mode: esri.layers.FeatureLayer.MODE_SELECTION,

outFields: [“*”]

});

self._bufferFeatureLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW, function(results){

for ( var i = 0; i results.length; i++) {

var graphic = results[i];

symbol = new esri.symbol.PictureMarkerSymbol(‘./imgs/camera.gif’, 32, 32);

graphic.setInfoTemplate(infoTemplate);

graphic.setSymbol(symbol);

self._map.graphics.add(graphic);

}

});

});

});

};

怎样用Javascript画个实心圆和计算器

1、JS画圆

script type=”text/javascript”

//功能:画实心圆

//参数:圆心坐标,半径,精确度,背景颜色

//主要用到了中学时的圆的一些特征公式呵呵

function SolidCircle(centreX, centreY, radius, precision, color){

var cx = Math.abs(parseInt(centreX));

var cy = Math.abs(parseInt(centreY));

var r = parseInt(radius2 ? 60 : radius);

var p = parseInt(precision1 ? 1 : precision);

var c = color;

var y;

for(var x=cx-r; x=cx+r; x+=p){

y = cy – Math.sqrt(Math.pow(r, 2) – Math.pow(cx – x, 2));

document.write(‘img style=”background:’+c+’; border:1 solid ‘+c+’; width:’+p+’; height:’+parseInt(2*Math.sqrt(Math.pow(r, 2) – Math.pow(cx – x, 2)))+’; position:absolute; top:’+parseInt(y)+’; left:’+parseInt(x)+’;”‘);

}

//alert(“一共有 ” + document.all.length + ” 个 img”);

}

SolidCircle(450, 100, 100, 1, “green”);

/script

2、计算器的连加原理其实和连续计算的原理是一样的,所以,在JS里面一定要定义一个全局变量,不论是加减乘除都调用这个变量即可。下面是一段完整的计算器代码,你可以参考一下,也可以解决你的问题。

FORM name=”Keypad” action=””

TABLE

B

TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5

TR

TD colspan=3 align=middle

input name=”ReadOut” type=”Text” size=24 value=”0″ width=100%

/TD

TD

/TD

TD

input name=”btnClear” type=”Button” value=” C ” onclick=”Clear()”

/TD

TDinput name=”btnClearEntry” type=”Button” value=” CE ” onclick=”ClearEntry()”

/TD

/TR

TR

TD

input name=”btnSeven” type=”Button” value=” 7 ” onclick=”NumPressed(7)”

/TD

TD

input name=”btnEight” type=”Button” value=” 8 ” onclick=”NumPressed(8)”

/TD

TD

input name=”btnNine” type=”Button” value=” 9 ” onclick=”NumPressed(9)”

/TD

TD

/TD

TD

input name=”btnNeg” type=”Button” value=” +/- ” onclick=”Neg()”

/TD

TD

input name=”btnPercent” type=”Button” value=” % ” onclick=”Percent()”

/TD

/TR

TR

TD

input name=”btnFour” type=”Button” value=” 4 ” onclick=”NumPressed(4)”

/TD

TD

input name=”btnFive” type=”Button” value=” 5 ” onclick=”NumPressed(5)”

/TD

TD

input name=”btnSix” type=”Button” value=” 6 ” onclick=”NumPressed(6)”

/TD

TD

/TD

TD align=middleinput name=”btnPlus” type=”Button” value=” + ” onclick=”Operation(‘+’)”

/TD

TD align=middleinput name=”btnMinus” type=”Button” value=” – ” onclick=”Operation(‘-‘)”

/TD

/TR

TR

TD

input name=”btnOne” type=”Button” value=” 1 ” onclick=”NumPressed(1)”

/TD

TD

input name=”btnTwo” type=”Button” value=” 2 ” onclick=”NumPressed(2)”

/TD

TD

input name=”btnThree” type=”Button” value=” 3 ” onclick=”NumPressed(3)”

/TD

TD

/TD

TD align=middleinput name=”btnMultiply” type=”Button” value=” * ” onclick=”Operation(‘*’)”

/TD

TD align=middleinput name=”btnDivide” type=”Button” value=” / ” onclick=”Operation(‘/’)”

/TD

/TR

TR

TD

input name=”btnZero” type=”Button” value=” 0 ” onclick=”NumPressed(0)”

/TD

TD

input name=”btnDecimal” type=”Button” value=” . ” onclick=”Decimal()”

/TD

TD colspan=3

/TD

TD

input name=”btnEquals” type=”Button” value=” = ” onclick=”Operation(‘=’)”

/TD

/TR

/TABLE

/TABLE

/B

/FORM

/CENTER

font face=”Verdana, Arial, Helvetica” size=2

SCRIPT LANGUAGE=”JavaScript”

!– Begin

var FKeyPad = document.Keypad;

var Accum = 0;

var FlagNewNum = false;

var PendingOp = “”;

function NumPressed (Num) {

if (FlagNewNum) {

FKeyPad.ReadOut.value = Num;

FlagNewNum = false;

}

else {

if (FKeyPad.ReadOut.value == “0”)

FKeyPad.ReadOut.value = Num;

else

FKeyPad.ReadOut.value += Num;

}

}

function Operation (Op) {

var Readout = FKeyPad.ReadOut.value;

if (FlagNewNum PendingOp != “=”);

else

{

FlagNewNum = true;

if ( ‘+’ == PendingOp )

Accum += parseFloat(Readout);

else if ( ‘-‘ == PendingOp )

Accum -= parseFloat(Readout);

else if ( ‘/’ == PendingOp )

Accum /= parseFloat(Readout);

else if ( ‘*’ == PendingOp )

Accum *= parseFloat(Readout);

else

Accum = parseFloat(Readout);

FKeyPad.ReadOut.value = Accum;

PendingOp = Op;

}

}

function Decimal () {

var curReadOut = FKeyPad.ReadOut.value;

if (FlagNewNum) {

curReadOut = “0.”;

FlagNewNum = false;

}

else

{

if (curReadOut.indexOf(“.”) == -1)

curReadOut += “.”;

}

FKeyPad.ReadOut.value = curReadOut;

}

function ClearEntry () {

FKeyPad.ReadOut.value = “0”;

FlagNewNum = true;

}

function Clear () {

Accum = 0;

PendingOp = “”;

ClearEntry();

}

function Neg () {

FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;

}

function Percent () {

FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);

}

// End —

/SCRIPT

补充哦,怕在百度hi上给你的留言你看不到呵呵

—————————————-

那个圆也是没有问题的,因为给学生上课讲过这个算法,它有些类似于微积分中圆的面积求法,其实是将圆沿X轴进行细分,细分的精度由precision决定,所以,当你在这段代码中将精确降低的话,圆的边界就很粗糙,把细分后的每一块把它看成一个图形,这样累加起来,不就组成一个实习圆了嘛(截止到这儿,讲的是算法问题)。然后呢,代码的精髓在于那个For循环,(var x=cx-r; x=cx+r; x+=p)表示变量是从圆的最左边开始的[因为圆心cx-半径r得到最左边,下同],到最右边结束[cx+r],而每次增加多少呢,是由精度控制的[x+=p],然后循环体内的代码的精髓是图片的宽度和高度那块儿,宽度当然就等于精度了,高度的那个公式y = sqrt(r^2 – x^2)是画圆的必备公式,你应该明白吧。好了,到此为止,这段代码的原理和实现我都说到这儿了,希望你能明白。

JavaScript怎样做出一个画圆圈的效果啊,比如一张图片是一个小圆点,怎样让这个小圆点以20p

!DOCTYPE html

html lang=”en”

head

meta charset=”UTF-8″

title画圆/title

script src=””/script

/head

body

div id=”holder”/div

script

var paper = Raphael( “holder”, 400, 400 );

var circle = paper.circle(200, 200, 150);  // 从200,200 开始画一个半径150的圆

circle.attr(“fill”, “#f00”); //并用红色填充

/script

/body

/html

d3.js画圆弧和圆的坐标、弧长计算方法

svg路径画圆的特性:(rx ry x-axis-rotation large-arc-flag sweep-flag x y)。

rx,ry: 是椭圆的两个半轴的长度。

x-axis-rotation: 是椭圆相对于坐标系的旋转角度,角度数而非弧度数。

large-arc-flag: 是标记绘制大弧(1)还是小弧(0)部分。

sweep-flag: 是标记向顺时针(1)还是逆时针(0)方向绘制。

x,y: 是圆弧终点的坐标。

已知两点和半径求弧路径。

已知圆上两点和半径求弧长。

已知圆上的y轴半径和圆心求相交的x轴坐标。

已知圆上的x轴半径和圆心求y轴坐标。

用js简单的画个圆

var c=document.getElementById(“myCanvas”);

var cxt=c.getContext(“2d”);

cxt.fillStyle=”#FF0000″;

cxt.beginPath();

cxt.arc(70,18,15,0,Math.PI*2,true);

cxt.closePath();

cxt.fill();

javascript画圆的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js画一个圆、javascript画圆的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月30日 03:29:56
下一篇 2024年3月30日 03:38:07

相关推荐

  • javascript如何调试,js 调试

    网页显示javascript错误..怎么解决 网页显示javascript错误的解决办法:首先打开浏览器,选择Internet选项;然后切换到安全标签页中,单击自定义级别进入;接着选择“启用”项,并点击“是”;最后退出设置即可。请多刷新几次或者把浏览器关掉再打开。 检查JavaScript代码是否有语法或逻辑错误,并进行修复。更新您的浏览器版本或更换为兼容当…

    2024年5月23日
    4400
  • 包含javascript画圆的词条

    javascript画圆参数问题 1、第三个参数是圆的半径。第四个参数代表圆周起始位置。0 PI就是起始位置。沿顺时针路线,分别是0.5 PI(正下方),1 PI和5 PI(正上方),为画饼图提供了扇形范围的依据。 2、.box{width:200px;height:200px;border-radius:50%;overflow:hidden;} 试试这个…

    2024年5月23日
    4600
  • javascript常量,js中如何定义常量

    请问while(*p!=\0)这是什么意思啊 1、p明显是个指针,while(p)就是说指针如果有指向,就执行while下的语句,如果是0,也就是null,指针没有指向任何地址,也就是空指针。*p=head-next 这个可能是是树之类的数据结构。 2、\0就是0x00,代表字符串至此结束,退出循环。 3、while( *p ) 就是判断 (*p) 的值只要…

    2024年5月23日
    4300
  • 首字母大写javascript,首字母大写英语怎么说

    javascript怎么使用字符串函数进行首字母大写 js中转换字符串小写字母为大写字母的方法有:使用toUpperCase()方法、使用toLocaleUpperCase()方法。使用toUpperCase() 方法作用:把指定字符串中的小写字母全部转换为大写字母,最后返回一个新的字符串。 截取第一个位置变成大写,然后从第一个位置截取所有。 toLower…

    2024年5月23日
    4800
  • javascript吧,javaScript基础心得体会

    JavaScript真的容易学吗? 1、JavaScript是一种轻量级的编程语言,是一门非常容易入门的语言。JavaScript语法比较简单,应用面也会非常的广,有比较好的就业市场。 2、JavaScript面向对象、函数进阶、递归及其应用、正则表达式、ES6等等JS的高级课程内容。高级课程内容相对难度会有所提升,但是只要能理解了相应的编程思维,整体掌握难…

    2024年5月23日
    3900
  • 怎样学习javascript,怎样学好javascript

    javascript基础入门 1、JavaScript最初是由网景公司的Brendan Eich在1995年创建的,最初被称为LiveScript。后来,它被重命名为JavaScript,以更好地与Sun Microsystems的Java语言相匹配。 2、如果你想快速学会 JavaScript,你可能要掌握“跳章学习”的方法。左边可以看到本教程整个结构树。…

    2024年5月23日
    3600
  • java程序怎样画椭圆,java画一个圆

    java编程在画面上画一个长宽比为2:1的椭圆及其外接矩形 答案:fillOval(30,0,20,30);drawLine(40,15,50,0);注释:1)fillOval public abstract void fillOval(int x,int y,int width,int height)使用当前颜色填充外接指定矩形框的椭圆。 然后在 pain…

    2024年5月22日
    4900
  • javascript判断函数存在,js判断是否有值

    请教一个JavaScript函数判断问题 1、) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串。如:number,string,boolean,object,function,undefined(可用于判断变量是否存在)。 2、给函数做一个返回值,然后判断返回值就行了。 3、说明:isNaN() 函数可用于判断其参数…

    2024年5月22日
    4000
  • ipad可以编写javascript,iPad可以编写程序吗?

    苹果APP开发需要掌握哪种语言? 1、首先,要开发苹果app,必须要掌握苹果app开发工具,那就是Objective-c和c语言。在开发苹果app软件的时候,需要走以下流程。 2、Objective-C语言 Objective-C是C语言衍生出来的,继承了C语言的特性,属于面向对象的语言。Objective-C这是适用于IOS智能操作系统的APP开发语言,是…

    2024年5月22日
    4900
  • javascript验证用户名,js验证用户名与数据库中不能重复

    web中JavaScript的用户验证怎么写? 1、首先不管你是在EXCEL里检测用户存在还是在数据库里检测 始终需要ASP和JAVASCRIPT吧 假设你已经知道如何利用ASP判断EXECL或数据库是否有这个用户 ajax.asp //这个页面用于获取URL来的用户名做判断,判断数据库或EXCEL是否有用户。 2、临时按照你的要求写了一个,有什么问题可以再…

    2024年5月22日
    4000

发表回复

登录后才能评论



关注微信