首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

高清ICON SVG解决方案(下) - 腾讯ISUX

从上一篇文章中我们得知SVG 做的图标IE9+的浏览器渲染效果相当的差,所以IE下我们我们不使用SVG ICON,我们可以将SVG转成一倍的png图片来进行替代。...SVG文件后,HTML我们通过下面的方式可以直接调用: 1 2 3 4 5 6 <use xlink:href="/<em>svg</em>/symbol.<em>svg</em>#icon<em>1</em>...:<em>Svg</em> Sprites +<em>Png</em> Sprites + Image-set 由于我们知道<em>SVG</em><em>在</em>IE下的兼容性并不好,所以<em>在</em>高清ICON的适配在第四种方案的基础上进行优化,首先用icomoon进行下面的步骤操作...<em>SVG</em>或者<em>PNG</em>,不会两张都同时加载。...---- AI模板<em>下载</em>链接: AI模板<em>下载</em>地址 ---- 相关文章: 《高清ICON <em>SVG</em>解决方案(上)》 《Inline <em>SVG</em> vs Icon Fonts》 感谢你的阅读,本文由 腾讯ISUX

1.1K10

高清ICON SVG解决方案(上) - 腾讯ISUX

1.多倍图片 目前用的比较多的做法是兼容devicePixelRatio = 2 就做实际图片大小的两倍,devicePixelRatio= 3就做三倍,有些人可能会直接做3倍的图片,这样就可以同时兼容...devicePixelRatio = 2 ,但是这样其实对于devicePixelRatio = 1devicePixelRatio = 2的用户他们就会浪费带宽去加载devicePixelRatio...,会矢量适配各种不同devicePixelRatio,但是PC上当图标小于等于16px时,或者复杂度高的图标会出现比较严重锯齿,图标无法展示清晰,特别在chrome下的表现尤为严重。...IE9+下的效果上我们看到IE对SVG的支持性着实差的令人无法直视,IE10,IE11效果和IE9几乎一样(真的是坑爹)。...---- AI模板下载链接: AI模板下载地址 ---- 相关文章: 《高清ICON SVG解决方案(下)》 《Inline SVG vs Icon Fonts》 《FireFox 6中的DirectWrite

3.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

SVG与foreignObject元素

SVG SVG是可缩放矢量图形Scalable Vector Graphics的缩写,其是一种用于描述二维矢量图形的XML可扩展标记语言标准,与基于像素的图像格式(如JPEG和PNG)不同,SVG使用数学方程和几何描述来定义图像...SVG的text元素提供了基本的文本渲染功能,可以指定位置绘制单行或多行文本,然而SVG并没有提供像HTML和CSS中的强大布局功能,比如文本自动换行、对齐方式等,这意味着SVG中实现复杂的文本布局需要手动计算和调整位置...foreignObject>元素允许SVG文档中嵌入HTML、XML或其他非SVG命名空间的内容,也就是说我们可以直接在SVG中嵌入HTML,借助HTML的能力来展示我们的元素,例如上边的这个例子,我们就可以将其改造如下的形式...设想一个场景,假设此时我们需要在后端将SVG绘制出来,然后将其转换为PNG格式的图片给予用户下载,在前端做一些批量的操作是不太现实的,再假设我们需要将这个SVG绘制出来拼接到Word或者Excel中,那么这些操作都要求我们需要在后端完整地将整个图片绘制出来...那么我们将环境搭建好了之后,后续就是要将SVG渲染并且转换为Buffer了,这个工作实际上比较简单,只需要在我们的Headless Chromium中将SVG渲染出来,并且将ViewPort截图即可,

39660

【Web技术】929- 前端海报生成的不同方案和优劣

二、业务应用 pc: 1.分享海报 H5应用: 1.分享优惠券 2.年度账单 3.分享海报 三、实现方式及兼容性问题 第三方库 1. html2canvas 版本 1.0.0rc7 https://github.com...暂没有复现 2 dom-to-img 版本2.6.0 https://github.com/tsayen/dom... star:6.9k 优点 元素齐全,还原度高 缺点 不兼容safari,所以建议只Chrome...SVGWeb攻击中的应用: https://www.anquanke.com/post... 2.iOS14.2下,图片丢失问题 其实在测的时候,发现ios14.2下生成图片第一次始终会出现图片丢失,...to img 直接domtoSvg也有安卓失败的问题 let svg = 接口获取svg(参考年度账单) let svgBase64: string = 'data:image/svg+xml...} }) 6.图片保存 PC import { saveAs } from 'file-saver' saveAs(blob, filename) H5 长按保存 包壳的H5是可以实现直接下载

1.4K40

全网React开发者下载量最高的 ECharts封装组件

因此,我们使用时,还是采用手动引入,以此来减低最后打包的体积。...lazyUpdate 可选,设置完 option 后是否不立即更新图表,默认为 false,即立即更新。...有下面几个可选项: devicePixelRatio设备像素比,默认取浏览器的值window.devicePixelRatio。 renderer渲染器,支持 canvas 或者 svg渲染。...width可显示指定实例宽度,单位像素。如果传入值 null或undefined或'auto',则表示自动取 dom(实例容器)的宽度。 height可显式指定实例高度,单位像素。...echarts_instance.getDataURL(); 使用这些API可以实现以下功能: 绑定/解绑事件 设置带有动态数据的动态图表 获取echarts dom/dataurl/base64,将图表保存到png

1.4K40

字体图标的绘制和使用技巧

从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用 .png 来搭建已经基本上被淘汰了。...取而代之的是使用 css3 和 svg 来绘制,而对于网页小图标,我们更希望整个系统的前端架构中将它们做成字体库统一管理。如下图: ?...www.iconfont.cn/plus icomoon 大名鼎鼎,不过个人认为 iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载...---- 1svg绘制 首先我们要准备的是矢量图绘制工具,这里我选择 illustrator,以下是设计师给我的原图: ? 好,我先直接对它导出看看效果 ?...的习惯,对不需要导出的画板和图层进行隐藏,然后存储 svg 格式,但是文件的大小一直下不来: ?

1.4K100

矢量化的HTML5拓扑图形组件设计

HT一直被客户称道的就是其全矢量化的设计特色,矢量相比传统图片好处太多了: 矢量可无级缩放,界面不失真不模糊 描述矢量的文本内容远比图片小得多 目前各种window.devicePixelRatio不一致的设备.../res/sunrise.png')的方式注册url路径,但当注册对象是HT矢量格式标准的JSON数据时,则HT会采用该JSON描述的矢量信息进行图形绘制,上图的JSON其实仅是左侧图片的描述,右侧红色的四个...按传统的做法,程序员不仅要绘制矢量,并且绘制图形代码中还要掺杂业务参数逻辑,因此代码的可读性和可维护性是很难想象的。...矢量的动态性还有个用途就是动态换肤,传统的换肤用户需要让美工做不同颜色的图片和css等资源,用户切换时需要远程动态下载,而HT的换肤完全就可以本地进行,整个过程无需服务器请求,甚至客户可以提供颜色拉条,...,所以选择什么样的设计方案很多情况下并不是决定性的,关键还是认真,只要认真用心实现都可以不同的设计路子上做出精彩。

1.4K20

HT全矢量化的图形组件设计

HT一直被客户称道的就是其全矢量化的设计特色,矢量相比传统图片好处太多了: 矢量可无级缩放,界面不失真不模糊 描述矢量的文本内容远比图片小得多 目前各种window.devicePixelRatio...SVG Viewer好多年前就停止更新,Flex支持SVG导入也仅供基本属性玩玩,当然SVG也不是一无是处highcharts还是运用得很不错,Java领域也有维护多年的 Batik 项目可用。.../res/sunrise.png’)的方式注册url路径,但当注册对象是HT矢量格式标准的JSON数据时,则HT会采用该JSON描述的矢量信息进行图形绘制,上图的JSON其实仅是左侧图片的描述,右侧红色的四个...按传统的做法,程序员不仅要绘制矢量,并且绘制图形代码中还要掺杂业务参数逻辑,因此代码的可读性和可维护性是很难想象的。...,所以选择什么样的设计方案很多情况下并不是决定性的,关键还是认真,只要认真用心实现都可以不同的设计路子上做出精彩。

1.4K90

html2canvas图片模糊解决方案

html2canvas官方的配置介绍 ViewPort布局方案 页面采用ViewPort方案,解决iOS上的1px的边框问题,采用这个方案,iOS上渲染出来的Dom会自动乘以devicePixelRatio...其中initial-dpr会把dpr强制设置给定的值。如果手动设置了dpr之后,不管设备是多少的dpr,都会强制认为其dpr是你设置的值。...在此不建议手动强制设置dpr,因为Flexible中,只对iOS设备进行dpr的判断,对于Android系列,始终认为其dpr1。...其他问题 跨域问题 由于涉及到外源图片,目前是通过后台写了一个接口做图片下载后pipe()来解决的,开发环境的时候直接打开跨域和允许污染Canvas的属性 useCORS: $fn.isDev(),...//允许跨域 allowTaint: $fn.isDev(), //允许污染画布 这样开发环境只能看到Canvas却无法调用canvas.toDataURL("image/png");函数。

4K30

基于HT for Web的Web SCADA工控移动应用

流行前VML和SVG算是真正纯种Web方案也是有不少应用,近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目开始采用真正纯HTML5的方案,更具体的说大数据量应用性能高于SVG...技术选项阶段用户提出过SVG的技术路线,毕竟在早期电力领域SVG还是有一定的标准和应用,但SVG比较老的Android终端上支持并不好,而且SVG组件的方式导致图元过多时性能差的问题,最终决定采用HT...iOS也不是没有坑,我们发现由于HT for Web支持视网膜精度,会根据设备window.devicePixelRatio参数控制拓扑图Canvas的内存画布大小,常遇到用户未设置meta的viewport...name=”viewport” content=”user-scalable=no, width=600″>设置上一定的width参数进行试验定位是否是该问题导致,或者强制设置ht.Default.devicePixelRatio...的HT参数,例如将其设置1,当然这样就损失了视网膜设备下的精细效果,所以一般还是建议调小viewport的width参数,毕竟界面缩小太多操作控制按钮太小也是无法正常操作。

1.8K50

移动端弹性布局方案lib-flexible实践

然后美工750*1334的设计稿之上,按我的要求提供以下素材的切图: ? 包括两个下载按钮的背景图片,logo,底部梯形的渐变背景和body部分的mobile 背景图。...注意这些图片都是750*1334的设计稿里面切出来的,所以尺寸都是设计稿里的原始尺寸,比如android.png: ? 考虑到retina显示屏的问题,结合下图的适配思路: ?...我认为解决retina屏问题的可行方案是: 1devicePixelRatio<=2时,图片统一使用750设计稿的切图 2)devicePixelRatio>=2时,图片统一使用750*1.5=1125...编写CSS 基本要求: 1)除font-size外,其它大小都根据750标注稿的尺寸,转换成rem单位的值,转换方法:标注稿尺寸 / 标注稿基准字体大小; 2)标注稿基准字体大小 = 标注稿宽度 /...>=2的时候启用@3x下的图片,还是以安卓下载按钮的样式例,写法是: .btn-android { background-image: url("..

1.6K10

基于HT for Web的Web SCADA工控移动应用

流行前VML和SVG算是真正纯种Web方案也是有不少应用,近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目开始采用真正纯HTML5的方案,更具体的说大数据量应用性能高于SVG...技术选项阶段用户提出过SVG的技术路线,毕竟在早期电力领域SVG还是有一定的标准和应用,但SVG比较老的Android终端上支持并不好,而且SVG组件的方式导致图元过多时性能差的问题,最终决定采用HT...iOS也不是没有坑,我们发现由于HT for Web支持视网膜精度,会根据设备window.devicePixelRatio参数控制拓扑图Canvas的内存画布大小,常遇到用户未设置meta的viewport...name=”viewport” content=”user-scalable=no, width=600″>设置上一定的width参数进行试验定位是否是该问题导致,或者强制设置ht.Default.devicePixelRatio...的HT参数,例如将其设置1,当然这样就损失了视网膜设备下的精细效果,所以一般还是建议调小viewport的width参数,毕竟界面缩小太多操作控制按钮太小也是无法正常操作。

1.2K30

基于HTML5的Web SCADA工控移动应用

流行前VML和SVG算是真正纯种Web方案也是有不少应用,近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目开始采用真正纯HTML5的方案,更具体的说大数据量应用性能高于SVG...技术选项阶段用户提出过SVG的技术路线,毕竟在早期电力领域SVG还是有一定的标准和应用,但SVG比较老的Android终端上支持并不好,而且SVG组件的方式导致图元过多时性能差的问题,最终决定采用HT...iOS也不是没有坑,我们发现由于HT for Web支持视网膜精度,会根据设备window.devicePixelRatio参数控制拓扑图Canvas的内存画布大小,常遇到用户未设置meta的viewport...name=”viewport” content=”user-scalable=no, width=600″>设置上一定的width参数进行试验定位是否是该问题导致,或者强制设置ht.Default.devicePixelRatio...的HT参数,例如将其设置1,当然这样就损失了视网膜设备下的精细效果,所以一般还是建议调小viewport的width参数,毕竟界面缩小太多操作控制按钮太小也是无法正常操作。

1.4K20

scetch入门 第2部分:文本,对齐和SVG第3部分中了解如何导出文件

背景 这是本教程第1部分的延续。本部分中,我们将介绍文本工具,对齐以及Sketch中使用导入的矢量图形。 文字和对齐方式 好吧,让我们打开插入菜单并写一些文字! ? 添加文字 我写了“香蕉”。...水平和垂直对齐 现在让我们页面的白色部分添加一些文本。我写道:“香蕉摊里总有钱。” ? 香蕉摊里总有钱。 我使用了24号Avenir,对齐中心。确保在对齐设置中将其水平对齐到画板的中心。...我The Noun Project下载了Will Deskins设计的可爱猴子图标。点击这里直接下载SVG。(记得根据名词项目的指导方针在你的项目中给予肯定!)...下载并解压缩SVG文件后,将其直接拖到Sketch画板中。 ? 将SVG拖动到画板 选中图标后,让我们屏幕左侧的“图层”菜单中进行一些调查。...我总是导入矢量文件时清理空的和不必要的图层。选择Layer_1和Layer_2后,请注意图层空,可以删除。 ? 删除空图层 如果展开Layer_3,您将看到这是图标核心路径的位置。 ?

4K30
领券