gpt4 book ai didi

c++ - 这种文字颜色有什么问题?

转载 作者:行者123 更新时间:2023-11-28 08:02:17 28 4
gpt4 key购买 nike

我正在使用 xPango 插件的 openFrameworks 通过以下代码呈现文本:

ofxPango* pango;
ofxPCContext* context;
ofxPCPangoLayout* layout;
ofImage text_image;

pango = new ofxPango();
context = pango->createContextWithSurface(width, height);
context->color4f(1,1,1, 0.0f);
context->paint();

layout = context->createPangoLayout();
layout->setText(text);
layout->setTextColor(186,34,29, 1.0f);
layout->setWidth(width);
layout->setJustify(true);
//context->paint();

ofxPCPangoFontDescription* fd = new ofxPCPangoFontDescription();
fd->createFromString(font);
layout->setFontDescription(*fd);
layout->show();

text_image.allocate(context->getSurface()->getWidth(), context->getSurface()->getHeight(), OF_IMAGE_COLOR_ALPHA);
text_image.setFromPixels(context->getSurface()->getPixels(), text_image.width, text_image.height, OF_IMAGE_COLOR_ALPHA, true);

我无法理解 layout->setTextColor(r,g,b,a) 的工作原理。如果我运行:

  • 0,0,0,1 - 文本应该是黑色
  • 255,0,0 - 文本应该是红色的
  • 186,34,29,1 - 本应为红色的文本显示为非常浅的灰色(可能是白色)
  • 186,34,0,1 - 文本是黄色的,尽管它应该是红色的

为什么这些颜色会出错?

最佳答案

我认为颜色值应该在 0.0f 和 1.0f 范围内,其中:

  • 0.0f = 无颜色
  • 0.5f = 半色
  • 1.0f = 全彩

以下是 Cairo library 中的一些删节示例,其中 ofxPango 调用:

color_white
1.0, 1.0, 1.0, 1.0

color_black
0.0, 0.0, 0.0, 1.0

color_transparent
0.0, 0.0, 0.0, 0.0

color_magenta
1.0, 0.0, 1.0, 1.0

关于c++ - 这种文字颜色有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11107030/

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