其他的资料网上都比较齐全,这里不一一描述。
这里我完成了一个读入图片并显示,改变某部分像素颜色,在图上画圆的功能。
// homework1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "CImg.h"
#include <iostream>
using namespace std;
using namespace cimg_library;
CImg<unsigned char> hw2(CImg<unsigned char> src) {
int width = src.width();
int height = src.height();
cout << width << "x" << height << endl;
for (int r = 0; r < height; r++) {
for (int c = 0; c < width; c++) {
if ((int)src(c, r, 0, 0) <= 255 && (int)src(c, r, 0, 0) >= 150) {
src(c, r, 0, 1) = 0;
src(c, r, 0, 2) = 0;
}
if ((int)src(c, r, 0, 0) == 0) {
src(c, r, 0, 1) = 255;
}
}
}
return src;
}
CImg<unsigned char> hw3(CImg<unsigned char> src) {
unsigned char blue[] = { 0, 0, 255 };
src.draw_circle(50, 50, 30, blue);
return src;
}
CImg<unsigned char> hw4(CImg<unsigned char> src) {
unsigned char yellow[] = { 255, 255, 0 };
src.draw_circle(50, 50, 30, yellow);
return src;
}
int main() {
CImg<unsigned char> src("1.bmp"); //新建一个对象image,读入图片1.bmp 这里由于我把项目代码和图片放在同一文件夹下
src = hw4(src); //通过更改hw后数字获得对应作业要求函数 2-4
src.display();
while (true){} //可能因为环境问题配置,使用main_disp.isClosed函数配置不成功,为了展示图片直到关闭窗口,这里直接进入永恒循环
return 0;
}