【发布时间】:2020-05-06 13:37:50
【问题描述】:
有没有一种简单的方法可以将字体插入位图图像? 目前我使用以下类来编辑我的位图:
class BitmapImg{
public:
BitmapImg();
~BitmapImg();
void setPixel(int x, int y, int redn, int greenn, int bluen);
void getPixel(int x, int y, int& redn, int& greenn, int& bluen);
private:
unsigned short int red[1080][1080]; //1080X1080 Pixels
unsigned short int green[1080][1080];
unsigned short int blue[1080][1080];
};
但现在我已经开始通过 xbm 文件将字母导入 XCode,然后使用各种循环来更改数组中的 RGB 值。但是这个解决方案非常复杂。
我也很难从图像中获取单个像素位。目前我使用这个循环来改变我在位图图像中的像素:
BitmapImg Picture;
// ctor makes is completely blue -> no problem with the whit color below
int counter = 0;
for (int y=0;y<=199;y++)
{
for (int x = 0; x<=199 ;x++)
{
for (int n = 0; n<16;n++)
{
bool bit =(A_bits[counter]>>n) & 1U;
if(bit)
Picture.setPixel(counter%200,counter%200,255,255,255);
counter ++;
std::cout << counter<< std::endl; //for debugging
}
}
}
xvm-File 的头文件:
#define A_width 200
#define A_height 200
static unsigned short A_bits[] = { 0x0000, 0x0000,....}
xbm 文件描述了一个“A”,但我只从左上角对角线得到一个像素宽的线。
【问题讨论】: