随机生成姓名DEMO

参考文档;字典和百家姓
通过点击按钮可以生成两个字和三个字的姓名,还可以自行设定输出几组姓名。姓氏引用了百家姓的部分姓氏,名字获取的新华字典的json数据。有兴趣的可以引用百家姓的json数据。里边的json数据可以参考文档,
路径:app/src/main/assets/word.json
html部分;

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>随机</title>
  <link rel="stylesheet" href="./index.css">
  <!-- <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script> -->
  <script src="./js/JQuery.3.7.1.min.js"></script>
  <script src="./js/autofit.min.js"></script>
  <script src="./js/index.js"></script>
  <script src="./js/word.json"></script>
  <script>
    autofit.init()//自动进行适配
  </script>
</head>

<body>
  <div class="main">
    <div style="border: 1px solid red;width:400px;margin-left: 20px;">
      <h1>随机生成姓名</h1>
      <button class="gettwoname">获取两个字名字</button>
      <button class="p1_jian">-</button><input type="text" value="1" class="p1_ipt"><button class="p1_jia">+</button>
      <textarea id="twoname" readonly></textarea><br>
      <button class="getthreename">获取三个字名字</button>
      <button class="p2_jian">-</button><input type="text" value="1" class="p2_ipt"><button class="p2_jia">+</button>
      <textarea id="threename" readonly></textarea>
    </div>
  </div>
</body>

</html>

css部分:

* {
  margin: 0;
  padding: 0;
}
ul.ol.li {
  display: none;
}
.main {
  font-size: 16px;
}
h1 {
  font-size: 16px;
  margin: 10px 100px;
}
.gettwoname,
.getthreename {
  font-size: 16px;
  margin-top: 20px;
}
#twoname,
#threename {
  width: 200px;
}
input {
  width: 30px;
  text-align: center;
}


js部分:

$(document).ready(function () {
  var xingArr = [
    "赵",
    "钱",
    "孙",
    "李",
    "周",
    "吴",
    "郑",
    "王",
    "冯",
    "陈",
    "褚",
    "卫",
    "蒋",
    "沈",
    "韩",
    "杨",
    "刘",
    "朱",
    "秦",
    "尤",
    "许",
    "何",
    "吕",
    "施",
    "张",
    "孔",
    "曹",
    "严",
    "华",
    "金",
    "魏",
    "陶",
    "姜",
    "戚",
    "谢",
    "邹",
    "喻",
    "柏",
    "水",
    "窦",
    "章",
    "云",
    "苏",
    "潘",
    "葛",
    "奚",
    "范",
    "彭",
    "郎",
    "鲁",
    "韦",
    "昌",
    "马",
    "苗",
    "凤",
    "花",
    "方",
    "俞",
    "任",
    "袁",
    "柳",
    "酆",
    "鲍",
    "史",
    "唐",
    "费",
    "廉",
    "岑",
    "薛",
    "雷",
    "贺",
    "倪",
    "汤",
    "滕",
    "殷",
    "罗",
    "毕",
    "郝",
    "邬",
    "安",
    "常",
    "乐",
    "于",
    "时",
    "傅",
    "皮",
    "卞",
    "齐",
    "康",
    "伍",
    "余",
    "元",
    "卜",
    "顾",
    "孟",
    "平",
    "黄",
    "和",
    "穆",
    "萧",
    "尹",
    "姚",
    "邵",
    "湛",
    "汪",
    "祁",
    "毛",
    "禹",
    "狄",
    "米",
    "贝",
    "明",
    "臧",
    "计",
    "伏",
    "成",
    "戴",
    "谈",
    "宋",
    "茅",
    "庞",
    "熊",
    "纪",
    "舒",
    "屈",
    "项",
    "祝",
    "董",
    "梁",
    "杜",
    "阮",
    "蓝",
    "闵",
    "席",
    "季",
    "麻",
    "强",
    "贾",
    "路",
    "娄",
    "危",
    "江",
    "童",
    "颜",
    "郭",
    "梅",
    "盛",
    "林",
    "刁",
    "钟",
    "徐",
    "邱",
    "骆",
    "高",
    "夏",
    "蔡",
    "田",
    "樊",
    "胡",
    "凌",
    "霍",
    "虞",
    "万",
    "支",
    "柯",
    "昝",
    "管",
    "卢",
    "莫",
    "经",
    "房",
    "裘",
    "缪",
    "干",
    "解",
    "应",
    "宗",
    "丁",
    "宣",
    "贲",
    "邓",
    "郁",
    "单",
    "杭",
    "洪",
    "包",
    "诸",
    "左",
    "石",
    "崔",
    "吉",
    "钮",
    "龚",
    "程",
    "嵇",
    "邢",
    "滑",
    "裴",
    "陆",
    "荣",
    "翁",
    "荀",
    "羊",
    "於",
    "惠",
    "甄",
    "曲",
    "家",
    "封",
    "芮",
    "羿",
    "储",
    "靳",
    "汲",
    "邴",
    "糜",
    "松",
    "井",
    "段",
    "富",
    "巫",
    "乌",
    "焦",
    "巴",
    "弓",
    "牧",
    "隗",
    "山",
    "谷",
    "晋",
    "楚",
    "闫",
    "法",
    "段",
  ];

  function readLocalJSoNFile(file) {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", file, true);
    xhr.onload = function () {
      if (xhr.status === 200) {
        var responseData = JSON.parse(xhr.responseText); // 将响应文本转换为JSON对象
        var words = [];
        for (var i = 0; i < responseData.wordjson.length; i++) {
          words.push(responseData.wordjson[i].word);
        }
        // console.log(words);
        var mingArr = words;

        $(".gettwoname").click(function () {
          var set = $(".p1_ipt").val(); //生成的组数
          var setArr = [];
          for (var i = 0; i < set; i++) {
            var randomNumber_xing = Math.floor(Math.random() * xingArr.length);
            var randomNumber_ming1 = Math.floor(Math.random() * mingArr.length);
            var getxing = xingArr[randomNumber_xing];
            var getming = mingArr[randomNumber_ming1];
            var result2 = [getxing, getming];
            result2 = result2.join("");
            console.log(result2);
            setArr.push(result2);
          }
          $("#twoname").text(setArr);
        });

        $(".getthreename").click(function () {
          var set = $(".p2_ipt").val(); //生成的组数
          var setArr = [];
          for (var i = 0; i < set; i++) {
            var randomNumber_xing = Math.floor(Math.random() * xingArr.length);
            var randomNumber_ming1 = Math.floor(Math.random() * mingArr.length);
            var randomNumber_ming2 = Math.floor(Math.random() * mingArr.length);
            var getxing = xingArr[randomNumber_xing];
            var getming = mingArr[randomNumber_ming1];
            var getming2 = mingArr[randomNumber_ming2];
            var result3 = [getxing, getming, getming2];
            result3 = result3.join("");
            console.log(result3);
            setArr.push(result3);
          }

          console.log(setArr);
          $("#threename").text(setArr);
        });
      }
    };
    xhr.send();
  }
  readLocalJSoNFile("./js/word.json");

  var value1 = $(".p1_ipt").val();
  var value2 = $(".p2_ipt").val();

  $(".p1_jian").click(function () {
    $(".p1_ipt").val(value1--);
  });
  $(".p1_jia").click(function () {
    $(".p1_ipt").val(value1++);
  });
  $(".p2_jian").click(function () {
    $(".p2_ipt").val(value1--);
  });
  $(".p2_jia").click(function () {
    $(".p2_ipt").val(value1++);
  });
});

效果图:
在这里插入图片描述

小程序生成图片demo是一个基于小程序开发的应用程序,它可以通过用户输入的文字、图片、模板等元素来生成一张新的图片。这个demo可以应用于各种场景,比如生成带有个性化文字的生日祝福图片、生成带有公司logo和产品图片的宣传海报等等。 在使用小程序生成图片demo的过程中,用户首先可以选择一个图片模板,然后根据自己的需求来编辑文字内容,比如生日祝福语、公司口号等等。接着,用户可以选择插入自己喜欢的图片元素,比如自己的照片或者公司logo。最后,用户可以预览生成的图片,并可以选择保存到手机相册或者分享到朋友圈等社交平台。 这个demo的设计理念是简单易用,用户可以通过简单的操作来生成个性化的图片,而不需要具备专业的设计技能。通过小程序生成图片demo,用户可以在自己的手机上方便快捷地制作各种个性化的图片,满足用户在不同场景下的个性化需求。 在开发小程序生成图片demo的过程中,我们主要采用了小程序的canvas绘图能力,结合用户输入的文字和图片元素,通过算法将它们合成一张新的图片。同时,我们也考虑了用户体验和界面设计,使得用户可以直观地编辑和预览生成的图片。 总的来说,小程序生成图片demo是一个方便实用的应用程序,可以帮助用户快速生成个性化的图片,满足用户在生活、工作等各种场景下的不同需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值