我将如何更改表情符号的颜色?
How would I change the color of an emoji?
我有一个表情符号,我希望它是白色的,但是当我 运行 程序时它显示为红色。如何将其更改为白色?
rating.text = "\(♥♥♥♥♥)"
rating.textColor = UIColorRGB("ffffff")
following answer 解释了为什么不能更改表情符号字符的颜色。字形本质上是图像。
如果您希望能够使用可以着色的心形符号,请尝试使用 non-Emoji 心形字符之一,例如 ♥︎
。
或者确保标签的字体未使用 Apple Color Emoji 字体。
我需要为一个项目执行此操作,并找到了几种方法来实现它。每个都有其局限性,但仍有一些有用的技巧需要了解。
首先,您可以在表情符号后附加 unicode text presentation selector 以使其呈现为文本,然后使用您的字体颜色。
限制:
该表情符号的文本表示可能不可用,您会得到未知的字符表示。
文字表示的细节往往比较少
或者,您可以对表情符号本身使用 CSS 滤镜来更改其色调(加上饱和度、对比度、灰度等)
限制:
需要访问页面的 css(适用于您自己的网页,但您不能,例如,在 Instagram post 中使用它)
emoji图形是application-dependent,所以结果
可能无法预测。例如,firefox 上的文件夹图标是
(目前)丑陋的蓝色。我将它过滤成黄色调,但是
其他浏览器(首先呈现黄色)下面的代码将导致我试图修复的问题!
无论如何,这里有一些使用 css 和 html 方法变体的例子:
.folderitem_normal:before {
content:'f4c2';
margin-right:4px;
}
.folderitem_presentation_selector:before {
color: magenta;
content:'f4c2\FE0E';
margin-right:4px;
}
.folderitem_css_filter:before {
content:'f4c2';
filter: hue-rotate(180deg) brightness(1.5);
margin-right:4px;
}
<div class="folderitem_normal">Normal appearance of emoji for comparison (HTML 📂)</div>
<div class="folderitem_presentation_selector">Presentation selector. Notice how it has been colored like normal text. (HTML 📂︎)</div>
<div class="folderitem_css_filter">Css filter looks nice, but results are application-dependent. (HTML = N/A)</div>
我有一个表情符号,我希望它是白色的,但是当我 运行 程序时它显示为红色。如何将其更改为白色?
rating.text = "\(♥♥♥♥♥)"
rating.textColor = UIColorRGB("ffffff")
following answer 解释了为什么不能更改表情符号字符的颜色。字形本质上是图像。
如果您希望能够使用可以着色的心形符号,请尝试使用 non-Emoji 心形字符之一,例如 ♥︎
。
或者确保标签的字体未使用 Apple Color Emoji 字体。
我需要为一个项目执行此操作,并找到了几种方法来实现它。每个都有其局限性,但仍有一些有用的技巧需要了解。
首先,您可以在表情符号后附加 unicode text presentation selector 以使其呈现为文本,然后使用您的字体颜色。
限制:
该表情符号的文本表示可能不可用,您会得到未知的字符表示。
文字表示的细节往往比较少
或者,您可以对表情符号本身使用 CSS 滤镜来更改其色调(加上饱和度、对比度、灰度等)
限制:
需要访问页面的 css(适用于您自己的网页,但您不能,例如,在 Instagram post 中使用它)
emoji图形是application-dependent,所以结果 可能无法预测。例如,firefox 上的文件夹图标是 (目前)丑陋的蓝色。我将它过滤成黄色调,但是 其他浏览器(首先呈现黄色)下面的代码将导致我试图修复的问题!
无论如何,这里有一些使用 css 和 html 方法变体的例子:
.folderitem_normal:before {
content:'f4c2';
margin-right:4px;
}
.folderitem_presentation_selector:before {
color: magenta;
content:'f4c2\FE0E';
margin-right:4px;
}
.folderitem_css_filter:before {
content:'f4c2';
filter: hue-rotate(180deg) brightness(1.5);
margin-right:4px;
}
<div class="folderitem_normal">Normal appearance of emoji for comparison (HTML 📂)</div>
<div class="folderitem_presentation_selector">Presentation selector. Notice how it has been colored like normal text. (HTML 📂︎)</div>
<div class="folderitem_css_filter">Css filter looks nice, but results are application-dependent. (HTML = N/A)</div>