gpt4 book ai didi

html - 如何动态地在网页中的图像上放置不同的图案。

转载 作者:太空狗 更新时间:2023-10-29 13:53:59 26 4
gpt4 key购买 nike

我有

  1. 一堆布料图案(简单的jpg文件)
  2. 字母表中每个字母的图像(空白背景)

我基本上想要一个类似于这样的页面: http://www.craftcuts.com/hand-painted-wooden-letters-single-patterns.html

但与其将其作为静态页面,我希望用户能够:

  1. 输入姓名
  2. 选择一个图案(其中一个 jpg 文件)

然后让它以该模式显示该名称。

显然我可以为每个字母组合创建单独的 jpg(现在我有一个带有白色背景颜色的每个字母的 jpg)和图案,但我想知道是否有更优雅的编码方式它会动态地将一个图像放到另一个的字母上。


编辑: 在我最初的帖子中,我假设这必须是前端的东西 (javascript),但如果它使它更容易(正如一些人问什么是后端),我的后端是一个 asp.net-mvc,所以如果有一些解决方案可以在服务器端构建它并发送给客户端,我也非常乐意使用它。

最佳答案

您可以使用 CSS 将背景图像应用于图像,然后为字母使用大量透明的 .png 图像。

我模拟了它:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>

<style type="text/css">

img.leaves
{
background:url("leaves.png");
}
img.lights
{
background:url("lights.png");
}

</style>

<script type="text/javascript">

function makeText()
{
var text = document.getElementById('text').value.toUpperCase();
var pattern = document.getElementById('pattern').value;

for(var i=0; i<text.length; i++)
{
var img = document.createElement('img');
img.src=text[i]+'.png';
img.className=pattern;
document.getElementById('textArea').appendChild(img);
}

return false;
}

</script>

</head>

<body>

<form onsubmit="return makeText();">
<p><label for="text">Enter your text</label> <input type="text" name="text" id="text" size="20"></p>
<p><label for="pattern">Choose a pattern</label> <select id="pattern"><option value="leaves">Leaves</option><option value="lights">Lights</option></select></p>
<p><input type="submit" value="Make!"></p>
</form>

<div id="textArea"></div>

</body>
</html>

你也可以see it in action .

alt text http://www.subdimension.co.uk/files/1/SO/A.png <这是字母 Papercut 之一(很难看!)

alt text http://www.subdimension.co.uk/files/1/SO/leaves.png和其中一种背景图案。

我对 G 感到厌倦,所以你只能写包含字母 a-g 的单词,它也有点懒惰,因为它只写大写,而且只有 2 种模式,但希望它应该足以给你一个想法

关于html - 如何动态地在网页中的图像上放置不同的图案。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1671984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com