草庐IT

ansi-colors

全部标签

c++ - 如何在应用程序中更改 Windows ANSI api 的 CP_ACP(0)?

我尝试使用仅具有ANSI版本接口(interface)的dll库绘制文本,封装了windowsANSIapi,但我需要使用utf-8存储字符串数据。我不想使用MultiByte/WideChar函数转换字符串,所以我想要一种方法来更改我的应用程序中的CP_ACP,以便我可以将字符串数据输入到ANSIapi中。谢谢。ps:我不想更改系统默认代码页。 最佳答案 CP_ACP表示系统Ansi代码页。您不能在每个进程或每个线程的基础上更改它。这是一个系统范围的设置。如果DLL确实在内部依赖于CP_ACP,那么您别无选择,只能在与DLL交互时

c++ - C 结构元素对齐 (ansi)

只是一个简单的问题...标准对结构成员对齐有何规定?例如这个:struct{uint8_ta;uint8_tb;/*othermembers*/}test;可以保证b位于从结构开始的偏移量1处吗?谢谢 最佳答案 标准(从C99开始)并没有真正说明什么。唯一真正的保证是(void*)&test==(void*)&a,并且a的地址低于b。其他一切都取决于实现。 关于c++-C结构元素对齐(ansi),我们在StackOverflow上找到一个类似的问题: http

c++ - COLOR_ATTACHMENT's - 如何将多个纹理渲染为帧缓冲区对象内的颜色附件?

我试图将多个纹理渲染为COLOR_ATTACHMENT但没有成功。我从显示它们得到的只是一个黑屏(带有红色透明填充),这意味着我的纹理已被读取但是是“空的”。我的伪代码是:将3个纹理附加到FBO,纹理索引分别为1、2和3,颜色附件分别为0、1和2。作为测试用例,我尝试将我的场景渲染为3种颜色的附件,因此它们应该保存相同的精确数据。然后在着色器channel2(使用2D采样器)读取这些纹理中的任何一个并将它们显示在四边形上。我对这2个额外颜色附件的初衷是使用GPU乒乓技术将它们用作随机数据缓冲区。到目前为止,我只是将它们用作测试目的的纹理克隆。当尝试从GL_TEXTURE1(COLOR_

c++ ansi转义码不向控制台显示颜色

我正在尝试更改控制台中文本的颜色。我们应该使用配置文件从以下位置读取ansi转义码:这是我的文件red\033[0;31m#redblue\033[0;34m#bluegreen\033[0;32m#greengrey\033[0;37m#grey这是我的代码:#include#include#include#include#include#includeusingnamespacestd;intmain(intargc,char*argv[]){stringfile="config.txt";stringline="";stringtag="";stringansi="";mapm;

c++ - 如何使用标准 C++ 从 UTF-8 转换为 ANSI

我从数据库中读取了一些字符串,以char*和UTF-8格式存储(你知道,“á”被编码为0xC30xA1)。但是,为了将它们写入文件,我首先需要将它们转换为ANSI(不能以UTF-8格式制作文件......它只能读取为ANSI),这样我的“á”就不会成为一个”。是的,我知道一些数据会丢失(中文字符,通常是ANSI代码页中没有的任何内容),但这正是我需要的。但问题是,我需要代码在各种平台上编译,所以它必须是标准的C++(即没有Winapi,只有stdlib、STL、crt或任何具有可用源的自定义库)。有人有什么建议吗? 最佳答案 几天前

c++ - 如何使用 ANSI Escape 代码在控制台上输出彩色文本

我读到了ANSI-C转义码here.尝试在C/C++printf/cout中使用它来为输出到consolde的文本着色,但没有成功。代码:#include#includeintmain(){inta=3,b=5;int&ref=a;ref=b;//cout如何使用这些转义码将彩色文本输出到控制台?我错过了什么吗?编辑:在一些C++代码中,我看到了对这个函数的调用textcolor(10);但它在g++和VisualStudio中给出了编译错误。哪个编译器有这个功能?有详细信息吗? 最佳答案 恐怕你忘记了ESC字符:#includei

c++ - 为什么 GCC 允许在 C++ 中使用 round() 即使带有 ansi 和 pedantic 标志?

即使使用-ansi和-pedantic标志,这个程序在GCC下编译是否有充分的理由?#includeintmain(intargc,char*argv[]){doublex=0.5;returnstatic_cast(round(x));}使用g++-ansi-pedantic-Walltest.cpp-otest编译干净(甚至没有警告)。我看到两个问题:round()不应该在符合ISO的模式下对C++可用(因为它来自C99)即使round()在这种情况下可用,它也只能在std命名空间中可用我错了吗? 最佳答案 Thisisabug

c++ - SIMD : Why is the SSE RGB to YUV color conversion about the same speed as the c++ implementation?

我刚刚尝试优化RGB到YUV420转换器。使用查找表可以提高速度,就像使用定点算法一样。然而,我期待使用SSE指令获得真正的yield。我的第一次尝试导致代码变慢,并且在链接所有操作之后,它的速度与原始代码大致相同。我的实现是否有问题,或者SSE说明是否不适合手头的任务?部分原始代码如下:#defineRRGB24YUVCI2_000.299#defineRRGB24YUVCI2_010.587#defineRRGB24YUVCI2_020.114#defineRRGB24YUVCI2_10-0.147#defineRRGB24YUVCI2_11-0.289#defineRRGB24Y

c++ - 使 Win32 应用程序在 ANSI 和 UNICODE 上工作

我想让我的Win32C++应用程序能够在任何编码版本(UNICODE和ANSI)上播放。现在我对两种(或更多?)编码之间到底有什么区别感到有点困惑?要使我的Win32应用程序交叉编码兼容是否意味着我必须检查我的代码并将每个std::string替换为std::wstring,然后将每个字符替换为wchar_t*然后将每个文字字符串("")替换为L""?如果我的应用程序在UNICODE机器上运行并且我的应用程序中有一个std::string会怎样?对于使我的应用程序交叉编码兼容需要采取的步骤,您有什么建议吗?例如:-将所有c_strings和字符串更改为其等效的UNICODE-将任何Wi

ios - 颜色计算 : increase alpha but maintain the same color appearance over a white background

一般问题:如果我更改alpha分量,如何计算颜色的RGB值,颜色在白色背景上看起来保持不变?附加问题:如何使用非白色背景颜色执行相同的操作?注意事项:我知道并非所有颜色都可以做到这一点。例如,不能增加rgba(1,0,0,1)的第一个参数来补偿这样的alphargba(1.1,0,0,0.9)这对于本例中的单色来说是微不足道的:我当前的用例:我正在开发一个状态栏/导航栏稍微透明的iOS应用程序。该栏应该看起来与内容View中的某些(不透明)对象具有相同的颜色。如果我将相同的颜色应用于条形,但内容的alpha为95%,当然条形看起来更亮。我还需要一个类似网络应用程序的CSS解决方案。