wap中SVG坐标

2024-02-02 10:08
文章标签 坐标 svg wap

本文主要是介绍wap中SVG坐标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章内容均来自http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Coordinates

SVG的世界是一个无限的画布。在本章中,我们将讨论如何你告诉一个浏览器程序,你有兴趣,它的尺寸是什么,以及如何定位点区域内,这个画布

视口(viewport

您的文件拟使用面积的画布被称为视口。建立这个视口的大小,宽度高度属性上<svg>元素。这些属性值可以是简单的一个数字,它被假定为以像素为单位,这被说成是在用户坐标指定。你也可以指定宽度高度作为一个数字后面的单元标识符,它可以是下列之一:

em 默认字体的字体大小,通常相当于一个字符的长度

ex 字母的x的高度

px 像素

pt Points (1/72 of an inch)     1/72英寸

pc  Picas (1/6 of an inch)  1/6英寸

cm Centimeters

mm Millimeters

in Inches

<svg width="200" height="150">,<svg width="200px" height="200px">这两个指定区域200像素宽,150像素高

<svg width="2cm" height="3cm"> 指定区域2厘米宽,3厘米高

<svg width="2cm" height="36pt">这是是可能会成功的,2里面的宽,36点高

坐标系统是一个纯几何系统;点既没有宽度,也没有高度,网格线被认为是无限薄的

矩形,边框颜色为black,填充为none,什么都没填充

注意------没有单位的数字,将被认为是像素

指定的viewBox属性值的数字可能会由逗号或空格分隔。如果宽度或高度为零,没有图形显示。这是一个错误指定的viewBox宽度或高度为负值。

保存长宽比

在前面的例子中,相同的宽高比,或宽度与高度的比例,视口和的viewBox(4/5 = 64/80)。发生什么事情,但是,如果视口和的viewBox的纵横比是不一样的,如在本例中,其中的viewBox具有纵横比为一比一,但视口中具有纵横比为一至三个?

 

<svg width="45px" height="135px" viewBox="0 0 90 90">,

 

SVG可以在这种情况下,做有三件事情:

  • 均匀缩放图形根据较小的尺寸,这样的图形完全适合到视口中。在该示例中,图像将成为原来的一半的宽度和高度。我们会告诉你这方面的例子在2.4.2节。
  • 均匀缩放图形到更大的尺寸,并切断部件位于视区之外。在该示例中,图像将成为一个半倍的原始宽度和高度。我们会告诉你在2.4.3节的例子。
  • 拉伸和壁球绘图,使其适合精确到新视口。(也就是说,不保持纵横比。)2.4.4节中,我们将介绍这。

在第一种情况下,由于在一维图像将小于视口,你必须指定在何处放置它。在该示例中,图像将被均匀地扩展到45个像素的宽度和高度。减少图形的宽度适合完美的视口的宽度,但你现在必须决定图像是否符合(与)的顶部,中部或底部的135像素的视区高度。

在第二种情况下,由于在一维图像将大于视口,你必须指定哪个区域进行切片了。在该示例中,将被均匀地缩放图像的宽度和高度为135像素。现在的图形的高度适合在视口中完美,但你必须决定是否适合于视区宽度45像素的图片的右侧,左侧,或两者边缘切掉。

指定对准preserveAspectRatio的

preserveAspectRatio属性可以让你指定的对齐影像缩放视口,你是否希望它满足的边缘被切掉。这个属性的模型是:

 

 

 

preserveAspectRatio =“ 对齐 [符合|片]“
preserveAspectRatio="alignment [meet | slice]"

 

对准指定的轴和位置,是一个:xMinYMid xMinYMin,xMinYMax,xMidYMin,xMidYMid,xMidYMax,xMaxYMin,xMaxYMid,或xMaxYMax。此对应规范形成串联x对齐和Ÿ对齐,如表2-1所示。默认值preserveAspectRatioxMidYMid满足。

注意

Ÿ对准以大写字母开头,因为x - y路线的串连成一个字。

表2-1所示。preserveAspectRatio对准部分值

x轴对准
行动
XMIN最低的viewBox x与视口的左上角对齐。
xMid中点x值的viewBox中点x值视口对齐。
xMax的最大的x值的viewBox 对准与视口的右上角。
Y调整
行动
YMIN与视口的顶部边缘对齐的viewBox 最低Ÿ
YMid对齐中点Ÿ值的viewBox中点Ÿ值视口。
YMAX最大Ÿ值的viewBox 对准与视口的底边。


所以,如果你想拥有的viewBox与图片=“0 0 90 90”完全适合视口是45像素宽,135像素高,视口的顶部对齐,你会写:

<SVG宽度=“45px”高度=“135​​px”的viewBox =“0 0 90 90”preserveAspectRatio =“xMinYMin满足”>

在这种情况下,由于宽度正好适合,对应的x是不相关的,同样可以用xMidYmin或xMaxYMin。然而,在利益的一致性,它通常是最好的,使这两个符相同的,当只有一个轴的影响。

这是相当抽象的,这里是一些具体的例子,告诉你如何组合的调整和满足和切片彼此互动。

 

 

例2-5。相遇符的使用

 

<!-- tall viewports -->
<svg preserveAspectRatio="xMinYMin meet" viewBox="0 0 90 90"width="45" height="135"><svg preserveAspectRatio="xMidYMid meet" viewBox="0 0 90 90"width="45" height="135"><svg preserveAspectRatio="xMaxYMax meet" viewBox="0 0 90 90"width="45" height="135"><!-- wide viewports -->
<svg preserveAspectRatio="xMinYMin meet" viewBox="0 0 90 90"width="135" height="45"><svg preserveAspectRatio="xMidYMid meet" viewBox="0 0 90 90"width="135" height="45"><svg preserveAspectRatio="xMaxYMax meet" viewBox="0 0 90 90"width="135" height="45">

效果

例2-6。使用切片符

 

 

 

<!-- tall viewports -->
<svg preserveAspectRatio="xMinYMin slice" viewBox="0 0 90 90"width="45" height="135"><svg preserveAspectRatio="xMidYMid slice" viewBox="0 0 90 90"width="45" height="135"><svg preserveAspectRatio="xMaxYMax slice" viewBox="0 0 90 90"width="45" height="135"><!-- wide viewports -->
<svg preserveAspectRatio="xMinYMin slice" viewBox="0 0 90 90"width="135" height="45"><svg preserveAspectRatio="xMidYMid slice" viewBox="0 0 90 90"width="135" height="45"><svg preserveAspectRatio="xMaxYMax slice" viewBox="0 0 90 90"width="135" height="45">

 

效果

 

例2-7。长宽比不保留

 

 

 

<!-- tall viewport -->
<svg preserveAspectRatio="none" viewBox="0 0 90 90"width="45" height="135"><!-- wide viewport -->
<svg preserveAspectRatio="none" viewBox="0 0 90 90"width="135" height="45">

效果

 

嵌套系统坐标

 

您可以建立一个新的视口和坐标系统在任何时候把另一个<svg>元素到您的文件。其效果是创建一个“小帆布”后,你可以借鉴。我们利用这一技术来创建插图,如图2-5。而非绘制矩形,然后重新缩放和定位的猫里面每一个(蛮力的方法),我们采取了以下步骤:

  • 主要画布上绘制蓝色矩形
  • 对于每一个矩形,定义一个新的<svg>元件与适当的preserveAspectRatio属性
  • 绘制成新帆布(与<use>),猫,让SVG做繁重

下面是一个简化的例子,显示了一个圆圈主要画布上,然后里面一个新的画布,这也是主要画布上的一个蓝色的矩形的轮廓。图2-8是我们希望实现的结果。

 

 

 

 

现在,添加另一个<svg>的的新视口的元素。在除了指定的viewBox宽度高度,和preserveAspectRatio规范,你也可以指定xy的属性-在条款封闭<svg>元素-是要建立新的视口。(如果你不给xy的值,它们被假定为零。)

 

<svgwidth="200px" height="200px" viewBox="0 0 200 200"><circle cx="25" cy="25" r="25" style="stroke: black; fill: none;"/><rect x="100" y="5" width="30" height="80" style="stroke: blue; fill: none;"/><svg x="100px" y="5px" width="30px" height="80px" viewBox="0 0 50 50"preserveAspectRatio="xMaxYMax meet"> </svg>
</svg>

 

 

 

 

 

设置新坐标这个嵌套<svg>元素不会改变视觉显示,但是它允许你添加的圈子在新的系统中,产生的结果如图2-8所示。

 

 

<svg width="200px" height="200px" viewBox="0 0 200 200"><circle cx="25" cy="25" r="25" style="stroke: black; fill: none;"/><rect x="100" y="5" width="30" height="80" style="stroke: blue; fill: none;"/><svg x="100px" y="5px" width="30px" height="80px" viewBox="0 0 50 50"preserveAspectRatio="xMaxYMax meet"><circle cx="25" cy="25" r="25" style="stroke: black; fill: none;"/></svg>
</svg>

 

 

 

m.kuanggouli.cn  推广返充值

 

这篇关于wap中SVG坐标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670369

相关文章

SW - 引入第三方dwg图纸后,修改坐标原点

文章目录 SW - 引入第三方dwg图纸后,修改坐标原点概述笔记设置图纸新原点END SW - 引入第三方dwg图纸后,修改坐标原点 概述 在solidworks中引入第三方的dwg格式图纸后,坐标原点大概率都不合适。 全图自动缩放后,引入的图纸离默认的原点位置差很多。 需要自己重新设置原点位置,才能自动缩放后,在工作区中间显示引入的图纸。 笔记 将dwg图纸拖到SW中

三维激光扫描点云配准外业棋盘的布设与棋盘坐标测量

文章目录 一、棋盘标定板准备二、棋盘标定板布设三、棋盘标定板坐标测量 一、棋盘标定板准备 三维激光扫描棋盘是用来校准和校正激光扫描仪的重要工具,主要用于提高扫描精度。棋盘标定板通常具有以下特点: 高对比度图案:通常是黑白相间的棋盘格,便于识别。已知尺寸:每个格子的尺寸是已知的,可以用于计算比例和调整。平面标定:帮助校准相机和激光扫描仪之间的位置关系。 使用方法 扫描棋盘:

(4)SVG-path中的椭圆弧A(绝对)或a(相对)

1、概念 表示经过起始点(即上一条命令的结束点),到结束点之间画一段椭圆弧 2、7个参数 rx,ry,x-axis-rotation,large-arc-flag,sweep-flag,x,y (1)和(2)rx,ry rx:椭圆的x轴半径(即水平半径) ry:椭圆的y轴半径(即垂直半径) 这两个参数好理解,就是椭圆的两条对称轴半径,相等即为圆 也可以写比例,写比例时默认用符合条件

C/C++两点坐标求距离以及C++保留两位小数输出,秒了

目录 1. 前言 2. 正文 2.1 问题 2.2 解决办法 2.2.1 思路 2.2.2 代码实现 3. 备注 1. 前言 依旧是带来一个练手的题目,目的就一个,方法千千万,通向终点的方式有很多种,没有谁与谁,我们都是为了成为更好的自己。 2. 正文 2.1 问题 题目描述: 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。 输入格式:

svg无功补偿装置脉冲封锁怎么解除

SVG(Static Var Generator,静态无功发生器)脉冲封锁是一种保护机制,用于防止装置在异常情况下继续运行,从而避免对电力系统造成进一步的损害。如果SVG进入脉冲封锁状态,通常需要执行特定的步骤来解除封锁并恢复正常运行。以下是解除SVG脉冲封锁的一般步骤: 1. 检查故障原因 故障诊断:首先,查看SVG的故障记录或报警信息,确定导致脉冲封锁的具体原因。常见的原因包括过电流、过电

1.39TB高清卫星影像更新(WGS84坐标投影)

最近对WGS84版的高清卫星影像数据进行了一次更新,并基于更新区域生成了相应的接图表。 1.39TB高清卫星影像更新 本次数据更新了1576个离线包,共1.39TB大小,并全部生成了更新接图表。 更新接图表范围 更新接图表由每一个离线包文件的范围构成,放大地图可以查看接图表的编号。    接图表编号 我们打开瓦片编号并放到到第12级,可以发现接图表的编号与瓦片编号完全一

halcon 的图像坐标转到实际的机械坐标的标定

所谓手眼系统,就是人眼睛看到一个东西的时候要让手去抓取,就需要大脑知道眼睛和手的坐标关系。如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。 相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。 在实际控制中,相机检测到目标在图像中的像

svg/webvowl 流程图创建

项目链接:https://code.csdn.net/u013372487/webvowl/tree/master

2014 WAP校园招聘笔试题

2014 WAP校园招聘笔试题 Problem's Link:   http://www.doc88.com/p-6751117015483.html   WAP公司笔试题 We are planning an orienteering game. The aim of this game is to arrive at the goal (G) from the start (

wsksvg - 支持SVG、JPEG、GIF、PNG、WebP格式图片的优化

前言 上一篇文章介绍了 wsksvg 插件的开发思路和灵感,而本篇则详细阐述了 wsksvg 扩展功能,以及技术的介绍。通过 wsksvg 插件,开发者可以高效地优化 PNG、JPG、JPEG、WEBP 和 GIF 图像,同时对 SVG 文件进行深入处理,包括优化、生成 Vue 和 React 组件以及转换为 Base64 编码格式。这些功能不仅简化了图像管理流程,也提升了应用的性能和用户体验。