【问题标题】:How do I use canvas to draw this background shape?如何使用画布绘制此背景形状?
【发布时间】:2011-12-16 22:41:18
【问题描述】:

在我正在进行的设计中,有一个重复出现的图像背景形状,在整个网站中以不同的大小出现多次。例如,一个页面将其用作巨大的背景图像,该图像的顶部和底部被浏览器边缘截断。

用画布创建这不是一个简单的模式,但据我所知,这是可能的。这是它的样子。

我最好制作几张相同图案的图像,还是通过画布轻松重新创建此背景图像?如果它适用于画布,我该如何以各种尺寸重新创建它?我希望我知道如何使用画布开始这样的事情,但这超出了我的技能范围。

【问题讨论】:

    标签: image html canvas background


    【解决方案1】:

    我已在此处将您的形状转换为 SVG 形状:https://gist.github.com/1321653 — 随意使用。

    根据caniuse.com,除 IE8 及更早版本外,所有常见浏览器都支持 SVG。

    对于 IE8 及更早版本,您可以将canvg(一个 SVG 转画布库)与explorercanvas(一个适用于 IE8 及更早版本的画布模拟器)结合使用。或者你可以显示一个带有背景颜色的矩形——IE 用户可能不会错过这个 splat。

    编辑:您还可以使用 CSS3 背景渐变来获得创意,比如 http://www.ecsspert.com/(仅使用 CSS 创建的著名徽标),但跨浏览器的兼容性很低。

    【讨论】:

    • 哇,我怎么没想到呢?谢谢!我知道有 svg 文件,但是我如何获取此代码并将其转换为文件?我对 svg 文件的了解不够,无法自己执行此操作。
    • 查看caniuse.com/svg 上的“资源:”标头——您甚至可以将其嵌入<script> 标记中,例如this
    • 好的,很好,我会查找不同的资源,希望能弄清楚如何将您的代码转换为 SVG 文件。再次感谢。
    • 哦,我应该再问一件事。如果用画布标记相同的图形,代码的大小会大于还是小于 svg?我正在尝试内联而不是嵌入以节省渲染/加载时间和网站使用 HTML5 处理的请求数量。
    • 哦,哇,我知道控制它的大小和颜色并不容易或直截了当。我不确定这会奏效。哦,我今天早些时候确实看到了 CSS3 背景链接。它看起来非常好,但没有大量的试验和错误,我不知道我如何快速想出这个代码!有什么我遗漏的东西可以让人们像那个链接一样轻松地编写 SVG、Canvas 或 CSS3 BG 图像吗?还是每个人在编写这类东西时都比我快得多?哈哈
    猜你喜欢
    • 2016-08-05
    • 2018-06-20
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    相关资源
    最近更新 更多