Jadual Kandungan
回复讨论(解决方案)
Rumah hujung hadapan web html tutorial 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>
Salin selepas log masuk


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

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>
Salin selepas log masuk

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah pemalam anak panah kanvas? Apakah pemalam anak panah kanvas? Aug 21, 2023 pm 02:14 PM

Pemalam anak panah kanvas termasuk: 1. Fabric.js, yang mempunyai API yang ringkas dan mudah digunakan serta boleh mencipta kesan anak panah tersuai 2. Konva.js, yang menyediakan fungsi melukis anak panah dan boleh mencipta pelbagai anak panah gaya; 3. Pixi.js , yang menyediakan fungsi pemprosesan grafik yang kaya dan boleh mencapai pelbagai kesan anak panah; ; 6. Rough .js, anda boleh membuat anak panah yang dilukis dengan tangan, dsb.

Apakah versi html2canvas yang ada? Apakah versi html2canvas yang ada? Aug 22, 2023 pm 05:58 PM

Versi html2canvas termasuk html2canvas v0.x, html2canvas v1.x, dsb. Pengenalan terperinci: 1. html2canvas v0.x, yang merupakan versi awal html2canvas Versi stabil terkini ialah v0.5.0-alpha1. Ia adalah versi matang yang telah digunakan secara meluas dan disahkan dalam banyak projek;

Apakah butiran jam kanvas? Apakah butiran jam kanvas? Aug 21, 2023 pm 05:07 PM

Butiran jam kanvas termasuk penampilan jam, tanda semak, jam digital, jam, minit dan jarum kedua, titik tengah, kesan animasi, gaya lain, dsb. Pengenalan terperinci: 1. Penampilan jam, anda boleh menggunakan Kanvas untuk melukis dail bulat sebagai penampilan jam, dan anda boleh menetapkan saiz, warna, jidar dan gaya dail lain. 2. Garisan skala, lukis garisan skala; dail untuk mewakili jam atau minit. 3. Jam digital, anda boleh melukis jam digital pada dail untuk menunjukkan jam dan minit semasa

uniapp melaksanakan cara menggunakan kanvas untuk melukis carta dan kesan animasi uniapp melaksanakan cara menggunakan kanvas untuk melukis carta dan kesan animasi Oct 18, 2023 am 10:42 AM

Cara menggunakan kanvas untuk melukis carta dan kesan animasi dalam uniapp memerlukan contoh kod khusus 1. Pengenalan Dengan populariti peranti mudah alih, semakin banyak aplikasi perlu memaparkan pelbagai carta dan kesan animasi pada terminal mudah alih. Sebagai rangka kerja pembangunan merentas platform berdasarkan Vue.js, uniapp menyediakan keupayaan untuk menggunakan kanvas untuk melukis carta dan kesan animasi. Artikel ini akan memperkenalkan cara uniapp menggunakan kanvas untuk mencapai kesan carta dan animasi serta memberikan contoh kod khusus. 2. kanvas

Apakah sifat yang dimiliki oleh tkinter canvas? Apakah sifat yang dimiliki oleh tkinter canvas? Aug 21, 2023 pm 05:46 PM

Atribut kanvas tkinter termasuk bg, bd, relief, lebar, ketinggian, kursor, latar belakang sorotan, warna sorotan, ketebalan sorotan, latar belakang sisipan, lebar sisipan, latar belakang pilih, latar belakang pilih, atribut perintah xscroll, dsb. Pengenalan terperinci

Ketahui rangka kerja kanvas dan terangkan rangka kerja kanvas yang biasa digunakan secara terperinci Ketahui rangka kerja kanvas dan terangkan rangka kerja kanvas yang biasa digunakan secara terperinci Jan 17, 2024 am 11:03 AM

Terokai rangka kerja Kanvas: Untuk memahami apakah rangka kerja Kanvas yang biasa digunakan, contoh kod khusus diperlukan Pengenalan: Kanvas ialah API lukisan yang disediakan dalam HTML5, yang melaluinya kita boleh mencapai kesan grafik dan animasi yang kaya. Untuk meningkatkan kecekapan dan kemudahan melukis, banyak pembangun telah membangunkan rangka kerja Kanvas yang berbeza. Artikel ini akan memperkenalkan beberapa rangka kerja Kanvas yang biasa digunakan dan menyediakan contoh kod khusus untuk membantu pembaca memperoleh pemahaman yang lebih mendalam tentang cara menggunakan rangka kerja ini. 1. Rangka kerja EaselJS Ea

Untuk gaya manakah html2canvas tidak sah? Untuk gaya manakah html2canvas tidak sah? Nov 24, 2023 pm 03:25 PM

Gaya tidak sah termasuk animasi dan peralihan CSS3, kesan penapis CSS, grafik dan laluan kompleks CSS3, beberapa ciri CSS3, elemen pseudo dan beberapa ciri CSS, indeks Z, imej latar belakang dan kecerunan, dsb. Pengenalan terperinci: 1. Animasi dan peralihan CSS3: html2canvas mungkin tidak menangkap sepenuhnya animasi CSS3 dan kesan peralihan. Walaupun percubaan akan dibuat untuk menangkap gaya terakhir, animasi dan peralihan ini mungkin hilang semasa proses penukaran 2. Kesan penapis CSS: penapis seperti kabur dan bayang mungkin tidak dikekalkan semasa proses penukaran, dsb.

Aliran pembangunan dan prospek masa depan Kanvas dalam sektor pendidikan China Aliran pembangunan dan prospek masa depan Kanvas dalam sektor pendidikan China Jan 17, 2024 am 10:22 AM

Dengan perkembangan pesat sains dan teknologi serta aplikasi teknologi maklumat yang meluas dalam bidang pendidikan, Canvas, sebagai sistem pengurusan pembelajaran dalam talian yang terkemuka di dunia, secara beransur-ansur muncul dalam sektor pendidikan China. Kemunculan Kanvas memberikan kemungkinan baharu untuk pembaharuan kaedah pendidikan dan pengajaran di China. Artikel ini akan meneroka arah aliran dan prospek pembangunan Kanvas dalam sektor pendidikan China. Pertama sekali, salah satu trend pembangunan Kanvas dalam sektor pendidikan China ialah penyepaduan yang mendalam. Dengan perkembangan pesat pengkomputeran awan, data besar dan kecerdasan buatan, Canvas akan semakin meningkat

See all articles