CImage读取8位灰度图像数据
今天收到了一个任务,就是将4张256X256的小图拼成一个大图,然后再缩小成256X256的小图,图像均是8位的灰度图。网上查了一下资料,决定采用CImage类来实现。
首先利用CImage的Load函数读取磁盘上的4个图像文件。然后创建一个512X512的图像,利用GetBits函数获取图像数据指针将前四个图像的数据复制到创建图像的指定位置,最后调用Save函数保存图像,看看效果。
大致代码如下:
CImage imgs[4];
imgs[0].Load(file0);
imgs[1].Load(file1);
imgs[2].Load(file2);
imgs[3].Load(file3);
CImage image;
image.Create(512, 512);
BYTE* bits = image.GetBits();
SetRectBits(image.GetBits(), 0, 0, 256, 256, imgs[0].GetBits());
SetRectBits(image.GetBits(), 256, 0, 256, 256, imgs[1].GetBits());
SetRectBits(image.GetBits(), 0, 256, 256, 256, imgs[2].GetBits());
SetRectBits(image.GetBits(), 256, 256, 256, 256, imgs[3].GetBits());
image.Save(