목차
回复讨论(解决方案)
웹 프론트엔드 HTML 튜토리얼 div和canvas的问题_html/css_WEB-ITnose

div和canvas的问题_html/css_WEB-ITnose

Jun 21, 2016 am 09:28 AM
canvas div

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>图片上传本地预览</title>     <style type="text/css">#preview{width:260px;height:190px;border:1px solid #000;overflow:hidden;}#imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}</style><script type="text/javascript">                //图片上传预览    IE是用了滤镜。        function previewImage(file)        {          var MAXWIDTH  = 260;           var MAXHEIGHT = 180;          var div = document.getElementById('preview');          if (file.files && file.files[0])          {              div.innerHTML ='<img  src="/static/imghw/default1.png"  data-src="';            file.select();            var src = document.selection.createRange().text;            div.innerHTML = '<img src="/static/imghw/default1.png"  id=imghead alt="div和canvas的问题_html/css_WEB-ITnose" >';            var img = document.getElementById('imghead');            img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;            var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);            status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);            div.innerHTML = "  class="lazy"  id=imghead>';              var img = document.getElementById('imghead');              img.onload = function(){                var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);                img.width  =  rect.width;                img.height =  rect.height;//                 img.style.marginLeft = rect.left+'px';                img.style.marginTop = rect.top+'px';              }              var reader = new FileReader();              reader.onload = function(evt){img.src = evt.target.result;}              reader.readAsDataURL(file.files[0]);          }          else //兼容IE          {            var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,;            file.select();            var src = document.selection.createRange().text;            div.innerHTML = '<img  src="/static/imghw/default1.png"  data-src="';            file.select();            var src = document.selection.createRange().text;            div.innerHTML = '<img src="/static/imghw/default1.png"  id=imghead alt="div和canvas的问题_html/css_WEB-ITnose" >';            var img = document.getElementById('imghead');            img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;            var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);            status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);            div.innerHTML = "  class="lazy"  id=imghead>';            var img = document.getElementById('imghead');            img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;            var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);            status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);            div.innerHTML = "<div id=divhead   style="max-width:90%"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";          }        }        function clacImgZoomParam( maxWidth, maxHeight, width, height ){            var param = {top:0, left:0, width:width, height:height};            if( width>maxWidth || height>maxHeight )            {                rateWidth = width / maxWidth;                rateHeight = height / maxHeight;                                if( rateWidth > rateHeight )                {                    param.width =  maxWidth;                    param.height = Math.round(height / rateWidth);                }else                {                    param.width = Math.round(width / rateHeight);                    param.height = maxHeight;                }            }                        param.left = Math.round((maxWidth - param.width) / 2);            param.top = Math.round((maxHeight - param.height) / 2);            return param;        }</script>     </head>     <body><div id="preview">    <img  src="/static/imghw/default1.png"  data-src="';            file.select();            var src = document.selection.createRange().text;            div.innerHTML = '<img src="/static/imghw/default1.png"  id=imghead alt="div和canvas的问题_html/css_WEB-ITnose" >';            var img = document.getElementById('imghead');            img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;            var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);            status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);            div.innerHTML = "  class="lazy"  id="imghead" width=100 height=100 border=0 ></div>             <input type="file" onchange="previewImage(this)" />     </body>     </html>
로그인 후 복사


这是我网上看到的网页上传图片的代码,试了一下把:

div和canvas的问题_html/css_WEB-ITnose'; var img = document.getElementById('imghead'); img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src; var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight); status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height); div.innerHTML = " class="lazy" id="imghead" width=100 height=100 border=0 >

中的div改成了画布,功能就无效了。不能改成canvas吗?为什么呢
应该是可以改的,大神们怎么改呢


回复讨论(解决方案)

你的浏览器不支持?IE版本是多少

canvas要用drawImage方法把图片渲染出来

标签只是图形容器,您必须使用脚本来绘制图形。

标签只是图形容器,您必须使用脚本来绘制图形。



是从本地选一张图片显示到网页上 div中可以显示 ,改成canvas就不行啦,我知道图形是脚本画的来

canvas要用drawImage方法把图片渲染出来



能把代码贴出来吗 谢谢


canvas要用drawImage方法把图片渲染出来



能把代码贴出来吗 谢谢



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >  <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>图片上传本地预览</title>     <style type="text/css">#preview{width:260px;height:190px;border:1px solid #000;overflow:hidden;}#imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}</style><script type="text/javascript">                  //图片上传预览    IE是用了滤镜。        function previewImage(file)        {          var MAXWIDTH  = 260;           var MAXHEIGHT = 180;          var div = document.getElementById('preview');          if (file.files && file.files[0])          {              var reader = new FileReader();              reader.onload = function(evt){                canvasPreview(evt.target.result);              }              reader.readAsDataURL(file.files[0]);          }          else //兼容IE          {            var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,;            file.select();            var src = document.selection.createRange().text;            div.innerHTML = '<img  src="/static/imghw/default1.png"  data-src="';            file.select();            var src = document.selection.createRange().text;            div.innerHTML = '<img src="/static/imghw/default1.png"  id=imghead alt="div和canvas的问题_html/css_WEB-ITnose" >';            var img = document.getElementById('imghead');            img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;            var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);            status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);            div.innerHTML = "  class="lazy"  id=imghead>';            var img = document.getElementById('imghead');            img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;            var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);            status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);            div.innerHTML = "<div id=divhead   style="max-width:90%"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";          }        }        function canvasPreview(url){          var image = new Image();          image.src = url;          image.onload = function(){            var canvas = document.getElementById('canvas');            var context = canvas.getContext('2d');            context.drawImage(this,0,0);          }        }        function clacImgZoomParam( maxWidth, maxHeight, width, height ){            var param = {top:0, left:0, width:width, height:height};            if( width>maxWidth || height>maxHeight )            {                rateWidth = width / maxWidth;                rateHeight = height / maxHeight;                                 if( rateWidth > rateHeight )                {                    param.width =  maxWidth;                    param.height = Math.round(height / rateWidth);                }else                {                    param.width = Math.round(width / rateHeight);                    param.height = maxHeight;                }            }                         param.left = Math.round((maxWidth - param.width) / 2);            param.top = Math.round((maxHeight - param.height) / 2);            return param;        }</script>     </head>     <body><div id="preview">    <img  id="imghead"    style="max-width:90%"<%=request.getContextPath()% alt="div和canvas的问题_html/css_WEB-ITnose" >/images/defaul.jpg'></div><canvas id="canvas" width="500px" height="500px">  </canvas>               <input type="file" onchange="previewImage(this)" />     </body>     </html>
로그인 후 복사

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

캔버스 화살표 플러그인이란 무엇입니까? 캔버스 화살표 플러그인이란 무엇입니까? Aug 21, 2023 pm 02:14 PM

캔버스 화살표 플러그인에는 다음이 포함됩니다. 1. 간단하고 사용하기 쉬운 API가 있으며 사용자 정의 화살표 효과를 만들 수 있는 Fabric.js 2. 화살표 그리기 기능을 제공하고 다양한 화살표를 만들 수 있는 Konva.js 스타일 3. 풍부한 그래픽 처리 기능을 제공하고 다양한 화살표 효과를 얻을 수 있는 Pixi.js 4. 화살표 스타일과 애니메이션을 쉽게 생성하고 제어할 수 있는 Two.js 5. 다양한 화살표 효과를 생성할 수 있는 Arrow.js 6. 대략적인 .js, 손으로 그린 ​​화살표 등을 만들 수 있습니다.

html2canvas에는 어떤 버전이 있나요? html2canvas에는 어떤 버전이 있나요? Aug 22, 2023 pm 05:58 PM

html2canvas 버전에는 html2canvas v0.x, html2canvas v1.x 등이 포함됩니다. 자세한 소개: 1. html2canvas v0.x는 html2canvas의 초기 버전입니다. 최신 안정 버전은 v0.5.0-alpha1입니다. 2. html2canvas v1.x는 html2canvas의 새 버전입니다.

캔버스 시계의 세부 사항은 무엇입니까? 캔버스 시계의 세부 사항은 무엇입니까? Aug 21, 2023 pm 05:07 PM

캔버스 시계의 세부 사항에는 시계 모양, 눈금 표시, 디지털 시계, 시, 분 및 초침, 중심점, 애니메이션 효과, 기타 스타일 등이 포함됩니다. 자세한 소개: 1. 시계 모양, 캔버스를 사용하여 시계 모양으로 원형 다이얼을 그릴 수 있으며 다이얼의 크기, 색상, 테두리 및 기타 스타일을 설정할 수 있습니다. 2. 눈금선, 눈금선을 그립니다. 3. 디지털 시계, 다이얼에 디지털 시계를 그려서 현재 시간과 분을 표시할 수 있습니다. 4. 시침, 분침, 초침 등.

uniapp은 캔버스를 사용하여 차트와 애니메이션 효과를 그리는 방법을 구현합니다. uniapp은 캔버스를 사용하여 차트와 애니메이션 효과를 그리는 방법을 구현합니다. Oct 18, 2023 am 10:42 AM

uniapp에서 캔버스를 사용하여 차트와 애니메이션 효과를 그리는 방법에는 특정 코드 예제가 필요합니다. 1. 소개 모바일 장치의 인기로 인해 점점 더 많은 응용 프로그램이 모바일 단말기에 다양한 차트와 애니메이션 효과를 표시해야 합니다. Vue.js를 기반으로 하는 크로스 플랫폼 개발 프레임워크인 uniapp은 캔버스를 사용하여 차트와 애니메이션 효과를 그리는 기능을 제공합니다. 이 기사에서는 uniapp이 캔버스를 사용하여 차트 및 애니메이션 효과를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 2. 캔버스

tkinter 캔버스에는 어떤 속성이 있습니까? tkinter 캔버스에는 어떤 속성이 있습니까? Aug 21, 2023 pm 05:46 PM

tkinter 캔버스 속성에는 bg, bd, 릴리프, 너비, 높이, 커서, 강조 배경, 강조 색상, 강조 두께, 삽입 배경, 삽입 너비, 선택 배경, 선택 전경, xscrollcommand 속성 등이 포함됩니다. 자세한 소개

캔버스 프레임워크를 배우고 일반적으로 사용되는 캔버스 프레임워크에 대해 자세히 설명합니다. 캔버스 프레임워크를 배우고 일반적으로 사용되는 캔버스 프레임워크에 대해 자세히 설명합니다. Jan 17, 2024 am 11:03 AM

Canvas 프레임워크 탐색: 일반적으로 사용되는 Canvas 프레임워크가 무엇인지 이해하려면 특정 코드 예제가 필요합니다. 소개: Canvas는 풍부한 그래픽 및 애니메이션 효과를 얻을 수 있는 HTML5에서 제공되는 그리기 API입니다. 그리기의 효율성과 편의성을 향상시키기 위해 많은 개발자들이 다양한 Canvas 프레임워크를 개발했습니다. 이 기사에서는 일반적으로 사용되는 몇 가지 캔버스 프레임워크를 소개하고 독자가 이러한 프레임워크를 사용하는 방법을 더 깊이 이해하는 데 도움이 되는 특정 코드 예제를 제공합니다. 1. EaselJS 프레임워크 Ea

html2canvas는 어떤 스타일에 유효하지 않습니까? html2canvas는 어떤 스타일에 유효하지 않습니까? Nov 24, 2023 pm 03:25 PM

잘못된 스타일에는 CSS3 애니메이션 및 전환, CSS 필터 효과, CSS3 복잡한 그래픽 및 경로, 일부 CSS3 기능, 의사 요소 및 일부 CSS 기능, Z-색인, 배경 이미지 및 그라데이션 등이 포함됩니다. 자세한 소개: 1. CSS3 애니메이션 및 전환: html2canvas는 CSS3 애니메이션 및 전환 효과를 완전히 캡처하지 못할 수 있습니다. 최종 스타일을 캡처하려고 시도하지만 변환 과정에서 이러한 애니메이션과 전환이 손실될 수 있습니다. 2. CSS 필터 효과: 흐림 및 그림자와 같은 필터는 변환 과정에서 유지되지 않을 수 있습니다.

중국 교육분야 캔버스의 발전 동향과 향후 전망 중국 교육분야 캔버스의 발전 동향과 향후 전망 Jan 17, 2024 am 10:22 AM

과학 기술의 급속한 발전과 교육 분야에서 정보 기술의 광범위한 적용으로 인해 세계 최고의 온라인 학습 관리 시스템인 Canvas가 중국 교육 산업에서 점차 떠오르고 있습니다. Canvas의 출현은 중국의 교육 및 교수법 개혁에 대한 새로운 가능성을 제공합니다. 이 기사에서는 중국 교육 부문에서 Canvas의 발전 동향과 전망을 살펴보겠습니다. 우선, 중국 교육 부문에서 Canvas의 발전 추세 중 하나는 심층적 통합입니다. 클라우드 컴퓨팅, 빅 데이터 및 인공 지능의 급속한 발전으로 Canvas는 점점 더 발전할 것입니다.

See all articles