绘制网格、主对角线格子填充、拷贝图像、wait_for_button循环。
最终效果:
//C++程序设计原理与实践第13章简单练习。
#include"../实践/GUI/Simple_window.h"
#include"GUI/Graph.h"int main()
try
{using namespace Graph_lib;//创建一个1000x800大小的Simple_window。Simple_window win(Point(100,100), 1000,800 , "My_Window");//----------------------------------------------------------------------------------------//将窗口左侧的800x800区域绘制为8x8的网格(因此每个各自的大小为100x100)。Lines grid;for(int i=0;i<8;i++){grid.add(Point((i + 1) * 100, 0), Point((i + 1) * 100, 800));grid.add(Point(0, (i + 1) * 100), Point(800, (i + 1) * 100));}grid.set_color(0);win.attach(grid);//----------------------------------------------------------------------------------------// 将主对角线上的8个格子填充为红色(使用Rectangle)。Vector_ref<Graph_lib::Rectangle>rectangles;for (int i = 0; i < 8; i++){rectangles.push_back(new Graph_lib::Rectangle(Point(i * 100, i * 100), 100, 100));rectangles[rectangles.size() - 1].set_fill_color(Color::red);win.attach(rectangles[rectangles.size() - 1]);}//---------------------------------------------------------------------------------------// 找一个200x200像素大小的图像,在网格中放置它的3份拷贝(每个图像占4个格子)。Image im1(Point(200, 0), "back.jpg");im1.set_mask(Point(0, 0), 200, 200);Image im2(Point(400, 0), "back.jpg");im2.set_mask(Point(0, 0), 200, 200);Image im3(Point(600, 0), "back.jpg");im3.set_mask(Point(0, 0), 200, 200);win.attach(im1);win.attach(im2);win.attach(im3);//-----------------------------------------------------------------------------------------// 添加一个100x100像素大小的图像,当点击“Next”按钮时,将它从一个格子移动到另一个格子。// 将wait_for_button()放在循环中,并编写代码为图像选择下一个格子。Image im4(Point(0,0), "back.jpg");im4.set_mask(Point(0, 0), 100, 100);win.attach(im4);int i = 0, j = 0,times=1;while (times < 65){win.wait_for_button();//将控制权交给显示引擎,使GUI系统在屏幕上显示一个对象,//并等待用户按下窗口中的“Next”,以便执行下面的程序。j = 100;if (times % 8 == 0){j = -700;i = 100;}im4.move(j, i);i = 0;times++;}//----------------------------------------------------------------------------------------
}
catch (exception& e) {cerr << "error: " << e.what() << '\n';return 1;
}
catch (...) {cerr << "Oops: unknown exception!\n";return 2;
};
//---------------------------------------------------------------------------------------------
绘制网格、主对角线格子填充、拷贝图像、wait_for_button循环。相关推荐
- opencv补全边缘_为什么OpenCV中绘制的轮廓不能填充图像边缘的轮廓?
编辑:我绕过了这个问题,在图像中添加了一个2位帧,然后使用我的代码,最后剪切图像以删除多余的帧.这是一个丑陋的解决方案,但它的工作! 我遇到了一个问题,我不确定这是一个错误还是我缺乏经验.我会尽量把它 ...
- 填充图片颜色计算机,教你一步步(电脑软件)绘制款式图+上色填充面料
原标题:教你一步步(电脑软件)绘制款式图+上色填充面料 软件ps(Adobe PhotoShop) 电脑+鼠标+键盘 使用钢笔工具绘制款式图 1.扫描:将人体草稿写进电脑,保存. 2.然后用Illus ...
- 滤波、漫水填充、图像金字塔、图像缩放、阈值化
imgpro 组件是 Image 和 Process 这两个单词的缩写组合,即图像处理模块,这个模块包含了如下内容: 文章目录 1.线性滤波:方框滤波.均值滤波.高斯滤波 1.1 平滑处理 1.2 ...
- 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )
文章目录 一.二维网格 1.线图 与 平面图 2.meshgrid 函数生成二维网格 二.绘制网格 1.mesh 函数绘制网格 2.代码示例 三.绘制平面 1.surf 函数绘制平面 2.代码示例 四 ...
- html图片上绘制网格线,如何使用html5和(canvas或svg)绘制网格
Tanzeel Kazi.. 10 我在canvas这里使用SO 发布我的代码,但我也在这里创建一个JSFiddle的工作示例. StackOverflow test bed function dra ...
- 使用c#制作打字游戏_使用打字稿iii绘制网格构建游戏4 5
使用c#制作打字游戏 Chapter III in the series of tutorials on how to build a game from scratch with TypeScrip ...
- 【AI实用教程】-用AI绘制网格花卉,你知道吗?
借助这款行业标准的矢量图形软件,您可以制作适用于印刷.Web.视频和移动设备的徽标.图标.绘图.版式和插图的矢量图设计软件.作为一款非常好的矢量图形处理工具,该软件主要应用于印刷出版.海报书籍排版.专 ...
- [Direct2D开发] 绘制网格
[Direct2D开发] 绘制网格 原文: [Direct2D开发] 绘制网格 转载请注明出处:http://www.cnblogs.com/Ray1024 一.引言 最近在使用Direct2D进行绘 ...
- R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(单色填充、分组颜色填充)实战(dot plot)
R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(单色填充.分组颜色填充)实战(dot plot) 目录 R语言使用ggplot2包使用geom_dotplot函数绘制分组点图( ...
最新文章
- android事件处理概括
- [实变函数]5.5 Riemann 积分和 Lebesgue 积分
- 工作多年的.NET程序员,是否建立了自己的开发知识库?分享制作电子书的经验...
- Redis 与 Memcached的区别
- 使用优化的基于模糊规则的特征选择技术和基于树的集成方法进行山洪敏感性建模--文献阅读
- redis源码剖析(1):基础数据结构SDS
- Skyfree退休公告
- 企业数字化转型战略权威指南
- 即席查询—Presto
- 阿里云建站费用给大家看下速成美站、企业官网、营销建站价格表
- 2015.02.08——张佳莉
- 非线性混合效应 NLME模型对抗哮喘药物茶碱动力学研究
- 关于 web cam 使用自家的摄像头实现 视频捕捉技术 高级篇
- pixhawk2.4.8飞控相关资料
- 计算机鼠标左键不起作用,为什么电脑的左键点了不起作用
- 新型开源语音编码器Lyra最新进展
- Oracle的ERP系统中报表不好用?
- Cache与内存二三事
- CES2018丨AI平台争“风”夺“口”
- 里约奥运会火的不是巴西而是中国互联网,自己看
热门文章
- 3. 第一个 Java 程序 - Hello World【连载 3】
- C++构造函数详解及显示调用构造函数
- think5php的使用,实例分享Thinkphp5行为使用方法
- “人工智能威胁人权?”联合国罕见叫“停”,矛头直指技术滥用
- springboot+vue前后端分离框架
- 【精荐一】山地车变速器调整;变速异响(变速不到位)调节方法
- 32位Windows7系统无法启动,提示找不到“Windows\system32\config\system”文件
- 开发使用air还是pro_新款iPad Air首发评测:比“Pro”更轻量的无负担体验
- 中国金属基板市场需求规模与竞争态势分析报告(2021-2026年)
- 手机电越充越少或者充不进去的解决办法