- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在试用 SVG stacking technique 启用多个图标堆叠在一个文件中,只需要来自浏览器的一个 HTTP 请求。该技术描述得非常详尽here .
基本上这个想法是将多个 SVG 元素放入单个 SVG 文件中,并使用 CSS 样式隐藏所有图标,除了您当前要显示的图标。您可以使用 CSS :target
选择当前要显示的图标选择器。
该技术对我有用,除了堆叠多个图标会导致显示的图标出现奇怪的扭曲,即使所有其他图标都被隐藏了。
在我使用的示例中,我将其简化为仅堆叠 两个 图标:一个美国国旗图标和一个英国国旗图标。
(简化的)SVG 文件是:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="svg153" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="480" width="640" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<svg:style
xmlns:svg="http://www.w3.org/2000/svg" type="text/css">
.i { display: none; }
.i:target { display: block; }
</svg:style>
<svg:svg id="uk" xmlns:svg="http://www.w3.org/2000/svg" class = "i" height="480" width="640" version="1.1">
<!-- SVG elements to draw UK flag -->
</svg:svg>
<svg:svg id="us" xmlns:svg="http://www.w3.org/2000/svg" class = "i" height="480" width="640" version="1.1">
<!-- SVG elements to draw US flag -->
</svg:svg>
</svg>
请注意,CSS 嵌入在 SVG 文件中,在 <svg::style>
中元素。 CSS 很简单:
.i { display: none; }
.i:target { display: block; }
这样,任何svg::svg
带有 class="i"
的元素自动不可见,除非我们在 SVG url 中专门针对它。所以这样,要显示美国国旗图标,我将使用以下 HTML 代码段:
<img
src="flags.svg#us"
width="80"
height="60"
alt="SVG Stacked Image"
/>
当然,为了显示英国国旗,我会将其更改为 src="flags.svg#uk"
无论如何,所有这一切都非常有效......除了在我堆叠图像时在 Firefox 和 Chrome 中出现奇怪的图像失真。
这是我从 SVG 文件中删除(隐藏的)英国国旗时美国国旗的屏幕截图:
如您所见,它看起来不错。
但是当我把它堆在英国国旗前时,它看起来像:
正如您所看到的,图像变得奇怪地扭曲了 - 它几乎看起来像是压缩图像中出现大量“伪像”时低质量 JPEG 所发生的情况。
那么为什么会发生这种情况呢?与美国国旗图标叠加的其他图像都是不可见的,那么它们为什么要影响可见图标呢?
我在 Google 上搜索了很多次以寻找答案,尽管 SVG 堆叠技术确实存在很多问题和“陷阱”,但它们都与跨浏览器兼容性有关。但是,该技术在大多数最新的浏览器(包括 IE9)上运行良好。此外,在 Firefox 和 Chrome 中都会出现失真,因此这不太可能是跨浏览器问题,而是我做错了什么。
那么,当我应用 SVG 堆叠技术时,是什么导致了这种奇怪的失真?
最佳答案
不知道堆叠和目标。但我知道两种简单的方法.. 可能可以帮助您更轻松地解决问题。
关于html - SVG 堆叠导致失真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27679946/
我正在尝试更改通过AVAudioPlayer播放的声音文件的速率。它可以工作,但是有很多伪像,尤其是当我放慢速度时。我很高兴速率变化保持相同的音调,但是似乎有麻烦,尤其是持续的音符。 直到我用均衡,压
我正在开发一个需要同步声音的安卓音频应用。 我正在尝试合并两个声音缓冲器,但在大幅度时出现失真。这就是我正在做的: for(int i=0;i>8); } 缓冲区使用:
我正在尝试使用 MediaRecorder 从相机录制视频。这是一个代码 fragment 剪断.. mr.setAudioSource( MediaRecorder.AudioSource.MI
我想找点乐子看看 Canvas 。画一个盒子似乎很容易,所以我几乎从 mozilla 开发者网站上复制了一个例子。你可以在这里看到它:http://jsfiddle.net/Wolfy87/DZBwp
我有一个程序,可以简单地绘制一个立方体。当应用旋转缩放等变换时,程序可以工作。当我尝试应用任何透视矩阵(例如透视、平截头体或正交)时,立方体会以未定义的方式变得非常扭曲。我感到困惑的是为什么该程序在使
在 CSS 和 HTML 中,向下滚动时如何避免背景图像失真? 我的代码大纲如下:HTML * { margin : 0; background-image : url("im
我在 Qt 中旋转图像时遇到了一些问题。每次我用 QPainter 旋转我的图像它变得越来越扭曲。这是初始图像: 经过一些迭代后它变成: 这是我的代码: void Ship::Move(int x,
我正在尝试将 UILabel 旋转 45 度。我将 transform 属性设置为 CGAffineTransformMakeRotation(M_PI * 0.25) 但是当我这样做时,UILabe
当我添加一堆 (20-40) 个样本同时播放和重叠时,有时它会开始失真,然后开始出现一些波动、振荡和咔哒声。当样本正在播放时应用程序崩溃时会发出类似的声音 - 听起来像是突然、嘎吱作响的停止。 请注意
我想使用 amCharts Javascript 库显示我的用户排名。用户排名是这样的(很好,没问题): 问题是如果我有两个相同的配置文件名称(例如,如果我有两个 Sara 名称作为配置文件名称或什至
在 TornadoFX 中使用 SVG 时遇到奇怪的问题。我有一些 SVG 字符串存储在一个枚举中,我在程序中用作背景图像。当我在在线查看器中查看完全相同的 SVG 路径时,没有失真并且显示正确: 但
我使用录音机(Google Play 上的 AudioRec)。 我可以选择adjust the gain with [-20dB, + 20dB]范围。 它在我的手机上运行得很好,但用户使用连接到其
Logo 、搜索栏、购物车、登录和注册未在同一行对齐。 当我尝试查看移动 View 时,出现失真 搜索栏和其他东西搞砸了 在移动 View 中,点击菜单折叠按钮没有任何反应。 这是我的代码:
我仍然是 OpenGL 的初学者。我正在尝试使用着色器在 1280 x 720 的屏幕上绘制一个完美的正方形。 我使用的是 OpenGL 核心配置文件 3.3 版。当我试图在 1280 x 720 中
我的应用程序生成的电子邮件在浏览器(示例 chrome)中打开时可以完美打开。但是当在 Microsoft Outlook 中打开同一封电子邮件时,它会严重变形(例如文本不可见,按钮文本被换行)。任何
我对使用 OpenGL ES 2.0 还很陌生。我也在使用 iPhone 和 GLM 数学库。正如我所提到的,我经常使用本教程:http://tomdalling.com/blog/modern-op
我最初是在考虑 CoreImage 的情况下解决这个问题的(因为我还需要进行面部识别),但我意识到,不幸的是,CI 失真滤镜尚未包含在 iPhone 中。 我试图深入研究 GLImageProcess
我已经使用 twitter-bootstrap gem 来制作商店应用程序。在我添加 activeadmin gem 之前它工作正常。 admin主页的 View 有一行: 店铺名称 和 "trans
我拍了一张照片,然后用这张照片初始化了一个 UIImageView 对象。唯一的问题是,当我拍照时,照片是使用完整的 iPhone 屏幕(纵向)拍摄的。 使用这张照片初始化的 UIImageView
我正在使用 AVAssetWriter 将一系列图像编码为电影文件,遵循 Zoul 在这里的回答:How do I export UIImage array as a movie? . 简而言之我的流
我是一名优秀的程序员,十分优秀!