前言
学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容
引入
接续上一篇,讨论混合图形类设计
方法论-现在能做什么
这段属于聊天内容---有句话是这么说的:不要只埋头拉车,还要抬头看路。写代码也是一样,不要光顾着不停写,时不时得想想,以目前所掌握的api,包括自己完成的代码能做什么,避开重复的劳动,怎样更好完成工作。当然分析问题,或者分解问题的能力也不是每个人一来就有,而当你具有这种能力之后,水平自然上一个台阶了。
回到当前话题,已有了两个混合函数mix
//函数原型
Matrix& mix_fillet_matrix(short x_ref,short y_ref,Matrix & mx,Fillet_Matrix& fm); //混合圆角矩阵
Matrix& mix_zifu(short x_ref,short y_ref,Matrix& mx,Zifu& zf);//混合字符
这里应该有个混合矩阵的函数,读者可以尝试写出来。
//混合矩阵函数原型,background是被混合的矩阵对象,fm是放进去的矩阵对象,返回background
Matrix& mix_matrix(short x_ref,short y_ref,Matrix & background,Matrix& fm);
想一想,下面的图片是可以做到的:
是不是感觉挺眼熟,他像程序界面,又像网页(或者不是很像)
现在如果有个岗位叫做“程序界面工程师”或者“静态页面前端架构师”,可以去试试:)
混合类型设计
假设上面的样式是被看中的---里边小图的大小和位置值得反复使用,像"介绍"和"3"等内容可以修改.该怎样去做呢?注意:图中的矩阵和圆角矩阵都是实心的,只是画的时候画成空心的了.
方法一:连续调用几个函数.
假设外框1000x500;
圆角矩阵200x100,圆角10,顶点100,80;
小矩阵框1的尺寸300x200,顶点100,600;
小矩阵框2的尺寸300x200,顶点600,700;
字符3顶点800,100;
代码是这样的:
//生成各个部件Fillet_Matrix fm(200,100, 0,0,0,10); //生成圆角矩阵,黑色Matrix out_matrix(1000,500,255,255,255); //生成外部矩阵,白色Zifu zf3("3") //假设字符3是这样生成的Matrix matrix_left(300,200,0,0,0); //左下部第一个小矩阵Matrix matrix_right(300,200,0,0,0); //右下部第一个小矩阵
然后把他们混合起来:
Matrix out_matrix=mix_fillet_matrix(100,80,out_matrix,fm); //放圆角矩阵
Matrix out_matrix=mix_zifu(800,100,out_matrix,zf3); //放字符
Matrix out_matrix=mix_matrix(100,600,out_matrix,matrix_left); //放左下矩阵
Matrix out_matrix=mix_matrix(600,700,out_matrix,matrix_right);//放左下矩阵
注意:"介绍"两个字没混合进去,因为要写新的算法,略过
方法二:混合类型
请读者朋友试着写一写,还是挺简单的.提示:属于半成品类,部件大小和位置固定.过几天更新
小结
混合类型的建立
后记
还有个小问题,设计师还是码农,看关键代码是否掌握.底层的代码写起来比较艰辛,抽象程度更高而且看不到直接效果.爱不爱写看个人感觉.
预告
静止页面小结及展望