html4画直线不是用的html5技术_html/css_WEB-ITnose
html4 画直线 div模拟点 直线算法
nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><script> <br /> //能画直线就能画其他的图像,只是需要相应的算法,不过这样用性能不是很好,当然一下的代码还有不完善的地方,在这里只是做个演示 <br /> //因为公司最近要做个图像化的功能,我只会js <br /> function Point(x,y,c){//用一个div模拟一个像素点x和y是坐标c是颜色 <br /> var div; <br /> this.div=document.createElement("div"); <br /> this.div.style.fontSize="0px"; <br /> this.div.style.overFlow="hidden"; <br /> this.div.style.width="1px"; <br /> this.div.style.height="1px"; <br /> this.div.style.position="absolute"; <br /> this.div.style.backgroundColor=c; <br /> this.div.style.top=y+"px"; <br /> this.div.style.left=x+"px"; <br /> document.body.appendChild(this.div); <br /> <br /> } <br /> <br /> <br /> <br /> <br /> function drawLine(x0,y0,x1,y1,c){//画一条直线x0,y0,x1,y1分别是开始坐标和结束坐标c是颜色 <br /> var x,y; <br /> var cx,cy; <br /> var steps=Math.abs(x1-x0)>Math.abs(y1-y0)?Math.abs(x1-x0):Math.abs(y1-y0); <br /> x=parseFloat(x0); <br /> y=parseFloat(y0); <br /> cx=(x1-x0)/steps; <br /> cy=(y1-y0)/steps; <br /> for(var i=0;i<steps;i++){ <br /> new Point(Math.round(x),Math.round(y),c); <br /> x+=cx; <br /> y+=cy; <br /> } <br /> <br /> } <br /> // drawLine(0,0,200,200,"red"); <br /> /* for(var i=0;i<1000;i+=20){ <br /> //drawLine(0,0,200,i,"#00ff00"); <br /> drawLine(i,0,i,1000,"#00ff00"); <br /> drawLine(0,i,1000,i,"#00ff00"); <br /> }*/ <br /> drawLine(20,1000,0,0,"#00ff00"); <br /> var posX,posY,selectDiv;//这里的 selectDiv是一个选择框 <br /> document.onmousedown=function(e){ <br /> if(!e)e=window.event; <br /> posX=e.clientX; <br /> posY=e.clientY; <br /> selectDiv=document.createElement("div"); <br /> selectDiv.style.fontSize="0px"; <br /> selectDiv.style.overFlow="hidden"; <br /> selectDiv.style.width="1px"; <br /> selectDiv.style.height="1px"; <br /> selectDiv.style.position="absolute"; <br /> <br /> selectDiv.style.top=posY+"px"; <br /> selectDiv.style.left=posX+"px"; <br /> selectDiv.style.border="1px dashed #B3B3B3"; <br /> document.body.appendChild(selectDiv); <br /> <br /> } <br /> document.onmousemove=function(e){ <br /> if(!e)e=window.event; <br /> if(selectDiv){ <br /> <br /> selectDiv.style.width=(e.clientX-posX)+"px"; <br /> selectDiv.style.height=(e.clientY-posY)+"px"; <br /> drawLine(posX,posY,e.clientX,e.clientY,"red"); <br /> } <br /> } <br /> <br /> <br /> //new Point(20,20,"green"); <br /> </script>
回复讨论(解决方案)
屏幕绘制像素级别的直线可以直接确定每个点的坐标 因为不会出现小数坐标
x 每个点必须 1-x
y 根据 1 - (1-x)/(x/y)比例增加

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.
