作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取幻灯片演示文稿中所有文本的颜色。我有:
var slides = SlidesApp.getActivePresentation().getSlides();
var pageElements = slides.reduce(function (list, slide) {
return list.concat(slide.getPageElements());
}, []);
var textRanges = pageElements.reduce(function (list, pageElement) {
if (pageElement.getPageElementType() == "SHAPE") {
for (var i=0; i < pageElement.asShape().getText().getRuns().length; i++){
ui.alert(pageElement.asShape().getText().getRuns()[i].getTextStyle().getForegroundColor());
}
}
return list;
}, []);
但即使我已将演示文稿中的颜色设置为红色、紫色、黄色等,颜色似乎是空的/空白。我也尝试附加“asRgbColor()”,但这并没有提醒我任何事物。如何获取文本颜色?
最佳答案
如果我的理解是正确的,这个答案怎么样?请将此视为几个可能答案之一。
asRgbColor()
以字符串形式检索颜色,使用 asHexString()
怎么样?
getRed()
、getGreen()
和 getBlue ()
.当以上几点反射(reflect)到您的脚本中时,它会变成如下所示。
请修改如下。
从:var textRanges = pageElements.reduce(function (list, pageElement) {
if (pageElement.getPageElementType() == "SHAPE") {
for (var i=0; i < pageElement.asShape().getText().getRuns().length; i++){
ui.alert(pageElement.asShape().getText().getRuns()[i].getTextStyle().getForegroundColor());
}
}
return list;
}, []);
到:
var textRanges = pageElements.reduce(function (list, pageElement) {
if (pageElement.getPageElementType() == "SHAPE") {
var text = pageElement.asShape().getText().getRuns(); // Added
for (var i=0; i < text.length; i++){ // Modified
if (text[i].getTextStyle().getForegroundColor().getColorType() == SlidesApp.ColorType.RGB) { // Added
list.push({text: text[i].asString(), color: text[i].getTextStyle().getForegroundColor().asRgbColor().asHexString()}); // Modified
}
}
}
return list;
}, []);
textRanges
检索结果。结果包括类似 {"text":"sample","color":"#000000"}
的对象。如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
关于javascript - 幻灯片演示文稿中所有文本的 getForegroundColor() 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60689502/
我是一名优秀的程序员,十分优秀!