如何显示带有动态创建的姓名首字母的头像图标

2023-12-01

我有一个要求,通过传递名称,它应该返回头像 图标,其中包含该名称中包含的单词的第一个字母。例如:如果我通过 John Abraham,它应该返回一个带有“JA”的图标。

我需要在 SAPUI5 控件中使用该图标。我对此没有任何想法。如何实施?任何帮助表示赞赏。


画布答案处于正确的轨道上,但在您的情况下,您需要一个可以分配给控件的数据 urlsrc or icon财产。

The generateAvatar以下示例中的函数将名称(字符串)转换为图像数据 url(在 url 中包含作为 base64 gif 的图像)。数据 url 可以分配给按钮图标属性或 UI5 控件上的任何其他图像 url 属性。您甚至可以将其用作具有数据绑定的格式化程序函数,如下例所示。

var model = new sap.ui.model.json.JSONModel({
  name: "John Doe"
});

new sap.m.Input({value:"{/name}", valueLiveUpdate:true}).setModel(model).placeAt("body");

new sap.m.Button({
  icon:{path: "/name", formatter: generateAvatar},
  text:"Hello"
}).setModel(model).placeAt("body");


function generateAvatar(name){
  var initials = name.split(' ').map(function(str) { return str ? str[0].toUpperCase() : "";}).join('');
  var canvas = document.createElement('canvas');
  var radius = 30;
  var margin = 5;
  canvas.width = radius*2+margin*2;
  canvas.height = radius*2+margin*2;

  // Get the drawing context
  var ctx = canvas.getContext('2d');
  ctx.beginPath();
  ctx.arc(radius+margin,radius+margin,radius, 0, 2 * Math.PI, false);
  ctx.closePath();
  ctx.fillStyle = 'grey';
  ctx.fill();
  ctx.fillStyle = "white";
  ctx.font = "bold 30px Arial";
  ctx.textAlign = 'center';
  ctx.fillText(initials, radius+5,radius*4/3+margin);
  return canvas.toDataURL();
  //The canvas will never be added to the document.
}

示例JSBin

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何显示带有动态创建的姓名首字母的头像图标 的相关文章

  • 鼠标移动时画布拖动

    我正在尝试构建一个可以使用鼠标移动拖动的画布 我做了一些我无法理解的错误 因为一开始似乎有效 然后出现了一个增量错误 使画布移动得太快 考虑以下代码 window onload function var canvas document ge
  • 用更好的模式替换开关(Javascript)

    我必须升级我的应用程序以根据用户类型和角色属性显示页面 目前 我使用一个简单的 switch 语句来根据用户类型来执行此操作 例如 switch type case a return CONSTANT ONE case b return C
  • 如何在 Windows 网络中的 Intranet Web 应用程序中获取用户的用户名

    我内部有一个简单的 HTML 页面 它只显示一个表单并要求用户填写 我想自动捕获Windows域用户名和机器名 并将其与表单中收集的数据一起提交 我可以在客户端这样做吗 HTML JavaScript 或者我被迫在服务器端执行此操作 我还不
  • 无需重定向的 HTML 页面提交

    有没有什么方法可以在不使用ajax的情况下提交html表单而无需从当前页面重定向 你可以设置一个target 为您form 这样您就可以将表单提交到新选项卡 target blank 或一个小的 隐藏的iframe target nameo
  • IE提示打开或保存服务器的json结果

    兼容模式下的Internet Explorer通过ajax回调方法从服务器获取数据 如果我想保存数据或打开数据 会弹出一个对话框 如何摆脱它 客户说 ajax type POST data UIdlgHolder gt form seria
  • 为什么Promise中的代码会同步执行? [复制]

    这个问题在这里已经有答案了 在我的项目中 我有一个很长时间运行的操作 所以我决定将其放入Promise因为我认为这样我就可以在里面的代码继续执行其他操作Promise正在跑步 调试的时候发现外面的代码Promise仅当里面的代码执行Prom
  • 如何在单击按钮时清除反应挂钩中的间隔

    我正在用反应钩子构建一个简单的计时器 我有两个按钮启动和重置 当我单击开始按钮时 handleStart 函数工作正常 计时器启动 但我不知道如何在单击重置按钮时重置计时器 这是我的代码 const App gt const timer s
  • 在 jQuery 选择器上使用正则表达式查找基于 ids 的所有元素

    我有几个具有唯一 id 的元素 如下所示 div div div div div div 我希望使用 jQuery 可以实现以下功能 item top each function this hide 我对正则表达式没有很好的掌握 希望得到一
  • 在给定索引上将字符串分成两部分并返回两部分

    我有一个字符串 需要在给定索引上拆分 然后返回两个部分 并用逗号分隔 例如 string 8211 8 211 98700 98 700 因此 我需要能够在任何给定索引上拆分字符串 然后返回字符串的两半 内置方法似乎执行分割 但只返回分割的
  • iPhone 上的锁定方向 UIWebView

    有没有办法锁定 UIWebView 的方向 使用 Obj C JS 还是 Html 我不想有按钮或任何东西 我只想在应用程序打开时将其锁定为纵向 好像这个堆栈溢出帖子 https stackoverflow com questions 43
  • 即使我的情况按预期发生变化,Angular ngClass 也不会更新我的课程

    我正在创建的模板中有类似的内容 div class nng 3 div 价值app layout isNavbarFixed等用零或一初始化 并且页面第一次加载时 适当的类被插入到我的div 不过 此后通
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • 为什么 TypeScript 混合了模块和原型模式?

    我正在查看此页面上 TypeScript 生成的 JS 代码 http www typescriptlang org Playground http www typescriptlang org Playground 基本上 要创建一个Gr
  • jQuery 相当于 underscore.js 的 groupBy

    jQuery 中是否有一个内置函数可以执行相当于http underscorejs org groupBy http underscorejs org groupBy 有什么解决方法吗 Thanks 不 jQuery 不是为数据处理而设计的
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • JavaScript setTimeout 和更改系统时间会导致问题

    我注意到如果我设置setTimeout未来1分钟 然后将我的系统时间更改为过去5分钟 setTimeout功能将在 6 分钟后触发 我这样做是因为我想看看夏令时系统时钟更改期间会发生什么 我的 JavaScript 网页使用setTimeo
  • D3 强制布局,较大的节点聚集在中心

    我一直在修改将用于标签云的强制布局 每个标签都由一个
  • jQuery UI 对话框 - 关闭后无法打开

    我有一个问题jquery ui dialog box https jqueryui com dialog 问题是 当我关闭对话框然后单击触发它的链接时 除非刷新页面 否则它不会再次弹出 如何在不刷新实际页面的情况下回调对话框 下面是我的代码
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • Radiobutton-带有纯 html/css 的按钮

    是否可以创建像这样的单选按钮JQuery http jqueryui com demos button radio那些 用纯html css thanks 试试这个小提琴 http jsfiddle net mcXm7 1 http jsf

随机推荐

  • Python 套接字:gethostbyaddr:反向 DNS 查找失败

    我在使用时获取主机名时遇到问题socket gethostbyaddr ip addr 在特定网站上 我不会详细说明这不适用于哪个网站 因此 按名称获取主机对于到目前为止我尝试过的每个网站都可以正常工作 但是当我尝试从中获取网站名称时 我收
  • 从 iPhone 应用程序传输 MP3 的最佳方式?

    我正在开发一个应用程序 它将通过 iPhone 应用程序从我的服务器传输音乐 这是我的第一个 iPhone 应用程序 所以我有点困惑 最好的办法是什么 这 是否已经内置了一些东西 我可以使用它 就像 MP3 播放器一样 我只需要指向 正确的
  • TypeScript 返回以泛型形式构造的对象

    我想定义以下通用函数来处理从接口类型到实现该接口的类类型的转换 考虑以下接口 类对 interface IExample num number class Example implements IExample num number 基本上
  • Spotfire 从计算列中查找值

    我在 Spotfire 中有一个数据集 我正在其中创建一个返回实体名称的计算列 返回的实体名称也在 A 列中 从计算列返回实体名称后 我需要一个位于不同列但位于实体名称行上的数据属性 我附上了数据快照 计算字段返回 公司 C 我需要创建一个
  • 实体框架仅返回一个值,但列表大小正确

    实体框架仅返回一个值 但列表大小正确 我有一个没有主 ID 的表 我需要获取或选择其中的所有值 我看到的是 当我使用 linq 进行选择时 对象的数量是正确的 但它一遍又一遍地是第一行 我只是在做这样的事情 List
  • 回溯如何与标记一起使用?

    我在互联网上进行了搜索 但找不到关于回填如何工作的正确解释 您能解释一下回溯是如何工作的吗 它如何与markers 我知道它有两种主要类型的标记 其中有下一个四边形 其中包含下一个列表 I found 这段代码 其中他们获取输入文件并使用
  • Shiny:通过单击 valueBox 触发弹出窗口

    我想通过单击在弹出窗口中显示数据表valueBox The valueBox本身应该作为actionButton 当我点击valueBox它应该在弹出窗口中呈现一个表格 如下图所示 任何人都可以帮忙解决这个代码吗 My code libra
  • 如何从 Auth::attempt() 检索更具体的错误

    我对 laravels Auth attempt 有一次奇怪的经历 我为用户制作了一个注册页面 一切正常 您可以 sign up 确认电邮 sign in etc 现在奇怪的部分是 Auth attempt 对于任何数据输入都可以正常工作
  • 如何停止Spring的默认输出?

    我是春天的新手 当我运行 Spring 批处理应用程序时 我期望只看到 Hello World 但相反 我得到以下附加详细信息 May 03 2012 12 28 42 PM org springframework context supp
  • 如何将关闭按钮添加到 UIModalPresentationFormSheet 中呈现的模态视图角?

    我想在某个角落添加一个浮动关闭 x 按钮UIModalPresentationPageSheet看法 效果如下 但是将其添加到父视图会使其显示在页面表后面 并且也无法点击 并将其添加到页面表将使其部分隐藏 因为它超出了视图区域 还有更好的解
  • Javascript:如何找到第一个重复值并返回其索引?

    我必须在数组中找到第一个重复值 然后在变量firstIndex 中返回其索引 这必须通过 for 循环来完成 for 循环应该在找到第一个重复项后停止 我知道这可能很简单 但我被困住了 到目前为止我已经有了这个 但它似乎不起作用 var n
  • SSL密钥交换加密技术[关闭]

    Closed 这个问题是无关 目前不接受答案 匿名 DH 临时 DH 和固定 DH 三种密钥交换算法有何区别 From 思科的文档 固定迪菲 赫尔曼 这是 Diffie Hellman 密钥交换 其中 服务器的证书包含 Diffie Hel
  • 从 UILabel Swift 中获取 Int

    我遇到的问题是 有大量以数字作为标签的按钮 所以我想我可以将标签视为整数 而不是为每个按钮创建一个操作 IBAction func NumberInput sender UIButton var input Int sender title
  • 使用 Foundation 6 的中间人

    我想将 Middleman 与出色的 Foundation 6 一起使用 Here是我在 Middleman 网站上找到的一个存储库 我安装了 Middleman 以及 Xcode 开发人员工具 当我跑步时middleman init T
  • 如何在android中的服务中调用振动器

    我正在尝试运行vibrator如果从我的应用程序调用服务 我将从Fragment但我不知道为什么振动器在服务内不起作用 我什至无法打印Toast 我的代码 从片段调用 Intent buzz new Intent getActivity L
  • Entity Framework Core 中动态更改架构

    UPD here这是我解决问题的方法 尽管它可能不是最好的 但它对我有用 我在使用 EF Core 时遇到问题 我想通过模式机制在项目数据库中分离不同公司的数据 我的问题是如何在运行时更改架构名称 我找到了类似的问题关于这个问题 但它仍然没
  • Google 图表:自定义刻度

    我想在 Google 图表的水平轴上设置自己的刻度 我包括了 hAxis ticks 根据文档 在我下面的尝试中 但它拒绝工作 因为刻度仍然不是整数 即使我指定它们是整数 我究竟做错了什么
  • 是否可以在未计算的上下文中从 STD 形成指向不可寻址函数的指针?

    如中所述命名空间 std 6 让 F 表示标准库函数 除非 F 被指定为可寻址函数 否则如果 C 程序显式或隐式尝试形成指向 F 的指针 则其行为是未指定的 可能是格式错误的 这对于以下程序意味着 include
  • 字符 Å Ö 没有显示在我的 DDL 中,我如何告诉 Restclient 使用特定的字符集?

    在我开始之前 这里是一个问题 应该是这样的 Bj rn Nilsson 相反 它显示奇怪的特殊字符 所有包含字符 和 的值都变成这样 我用 XML 格式的 API 中的值填充我的 DDL 其中包含所有值 并且我们还使用 Linq2Rest
  • 如何显示带有动态创建的姓名首字母的头像图标

    我有一个要求 通过传递名称 它应该返回头像 图标 其中包含该名称中包含的单词的第一个字母 例如 如果我通过 John Abraham 它应该返回一个带有 JA 的图标 我需要在 SAPUI5 控件中使用该图标 我对此没有任何想法 如何实施