其他的资料网上都比较齐全,这里不一一描述。
这里我完成了一个读入图片并显示,改变某部分像素颜色,在图上画圆的功能。
// 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; }