双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

一个现象让我对canvas的Crossorigin产生疑问!!

wblicsdn wblicsdn 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
网上找到的资料说canvas要绘制跨域图片的话,不但要图片所在服务器设置跨域权限,还要为canvas设置一个CrossOrigin="anonymous",由于项目原因,我部署了一个测试服务器,并且设置为不允许跨域,然后我根据w3cschool提供的教程,写了一个最简单的canvas绘制图片的代码,图片地址用的是我部署的服务器中的图片。然后我在本地部署了我的代码,发现可以显示图片?这是为什么?!!不是被限制跨域了吗,难道我理解错误? 下面是我贴的代码:

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"></canvas>

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var img=new Image();
img.src="http://119.23.213.80:8080/g3.png";
img.onload = function() {
cxt.drawImage( img, 0, 0 );
}

PS我是通过服务端设置 access-control-allow-origin来开放或关闭跨域的,我跟同事测试了几遍了,开开关关,发现论如何都可以显示图片,但是有一点值得注意的是:开发者工具的network中 header中的 response header中是没有access-control-allow-origin:“*”的,因为服务器没设置, 而header后面的preview是有图片预览的,preview后面的response是没有数据的,意思就是服务器没有响应,但是图片也没有显示来自缓存 from cache,因为我用的ctrl+f5。

说以这个Crossorigin用处是什么?哪些情况下才需要用?是否我理解错误了,求科普。


...全文

相关推荐

快速解决Canvas.toDataURL 图片跨域的问题

出现Canvas.toDataURL 图片跨域问题怎么解决呢?下面小编就为大家带来一篇Canvas.toDataURL 图片跨域问题的快速解决方法。一起跟随小编过来看看吧

Dante_9k

照片粒子化交互系统:Canvas2D实现语义可控的动态视觉资产

照片粒子化是一种将静态图像转化为可编程动态视觉资产的技术,其核心在于图像语义解析与像素级物理模拟。不同于纯数学渲染的粒子动画,它通过梯度感知采样、自适应粒子生成和分阶段力场建模(如爆炸冲击波与引力聚合),实现信息分层呈现、视觉隐喻强化与注意力锚定。技术价值体现在高分辨率图像的轻量实时处理、跨端兼容性(含微信小程序与老旧浏览器)及内存可控性。典型应用场景包括数字档案馆的老照片活化、教育课件的焦点引导、电商详情页的沉浸式展示等。本文聚焦Canvas 2D原生API构建稳定、可嵌入、可调参的照片粒子系统,覆盖WA

weixin_34408624

前端实战:用three.js将静态图片转为3D粒子交互网页

前端3D技术正从专业领域走向日常开发,借助WebGL与JavaScript生态,开发者无需对抗底层图形学细节,即可创建沉浸式交互体验。其核心原理是将图片像素数据离散化为粒子,再通过粒子系统与场景相机重新构建空间关系,从而在保留原图视觉特征的同时,赋予景深和动态视角。这项技术显著降低了3D网页的创作门槛,并广泛适用于产品展示、创意营销、数字艺术及数据可视化等场景。针对个人开发者与前端新手,基于three.js的粒子化方案尤为友好,只需掌握Canvas像素读取、BufferGeometry和OrbitContr

weixin_34239169

html5 canvas实现给图片添加平铺水印

最近项目中遇到一个需求,需要把一张图片加上平铺的水印 类似这样的效果   首先想到的是用canvas完成这种功能,因为我之前也没有接触过canvas,所以做这个功能的时候,就是一步一步的摸索中学习,过程还是挺nice的,接下来跟我一步步来实现这个功能以及发现一些canvas的坑吧。 因为这个功能需要的都是一些canvas基础的api,也不涉及什么原理性的问题,这里我就直接贴js代码 var img = new Image(); // 因为我项目中的业务是,要把淘宝的图片添加水印,所以这里就放一个淘宝商品的主图 img.src = 'https://gd4.alicdn.com/imgextr

weixin_38631282

js+canvas实现两张图片合并成一张图片的方法

主要介绍了js+canvas实现两张图片合并成一张图片的方法,结合实例形式分析了JavaScript结合HTML5 canvas实现图片合并的操作技巧,并附带了Java图片合并的实现方法,需要的朋友可以参考下

weixin_38570278
评论 3
收藏 已收藏
分享
返回顶部
wblicsdn
HTML5 43,737 成员 5,572 内容