每周工作学习总结(3月第一周)

1、SetROP2()函数

SetRop2()函数是GDI中的函数,其主要目的是设置当前的前景混合模式。GDI使用前景混合模式来结合画笔和对象内部填充的当前屏幕中的颜色。前景混合模式定义了画笔和画刷的颜色和已经存在的图像中的颜色将如何去结合

int SetROP2(
  HDC hdc,
  int rop2
);
参数:

hdc 设备上下文的句柄
rop2 混合模式

rop2的取值
混合模式意义
R2_BLACK像素值为0
R2_COPYPEN像素值为画笔的颜色值
R2_MASKNOTPEN像素值为屏幕颜色值与画笔颜色值取反后的交集
R2_MASKPEN像素值为屏幕颜色值与画笔颜色值的交集
R2_MASKPENNOT像素值为屏幕颜色值取反与画笔颜色值的交集
R2_MERGENOTPEN像素值为屏幕与画笔颜色值取反的并集
R2_MERGEPEN像素值为屏幕颜色值和画笔颜色值的并集
R2_MERGEPENNOT像素值为屏幕颜色值取反和画笔颜色值的交集
R2_NOP像素值不作任何改变
R2_NOT像素值为屏幕颜色值取反
R2_NOTCOPYPEN像素值为画笔颜色值取反
R2_NOTMASKPEN像素值为R2_MASKPEN取反
R2_NOTMERGEPEN像素值为R2_MERGEPEN取反
R2_NOTXORPEN像素值为R2_XORPEN取反
R2_WHITE像素值总是1
R2_XORPEN像素值为画笔颜色值和屏幕颜色值的异或

在绘制鼠标线的过程中,会出现相当明显的卡顿,导致绘制的鼠标线出现跳帧的情况,让我以为原因处在这个函数处(原因在2)。

在程序中使用的rop2的值为 R2_NOT该结合模式主要是用来绘制橡皮线,后绘制的线会将前面绘制的线给覆盖掉,如同被橡皮擦掉。

现在来试验一下各参数的效果
将画笔设置为红色RGB(255,0,0)
背景为白色RGB(255,255,255)

R2_BLACK

画出的颜色为黑色RGB(0,0,0)

R2_COPYPEN

画出的颜色为红色RGB(255,0,0)

R2_MASKNOTPEN

画出的为青蓝色RGB(0,255,255)

R2_MASKPEN

画出的颜色为红色RGB(255,0,0)

R2_MASKPENNOT

画出的颜色显示黑色RGB(0,0,0),再次在同一位置绘图会变成红色RGB(255,0,0)

R2_MERGENOTPEN

画出的颜色为白色RGB(255,255,255)

R2_MERGEPEN

画出的颜色为白色RGB(255,255,255)

R2_NOP

画面没有任何改变

R2_NOT

画出的颜色显示黑色RGB(0,0,0),且在同位置在此绘画,会擦除原来的线条

R2_NOTCOPYPEN

画出的为青蓝色RGB(0,255,255)

R2_NOTMASKPEN

画出的为青蓝色RGB(0,255,255)

R2_NOTMERGEPEN

画出的颜色显示黑色RGB(0,0,0),然后变为青蓝色蓝色(0,255,255),再变为红色RGB(255,0,0)

R2_NOTXORPEN

画出的颜色为红色RGB(255,0,0)

R2_WHITE

画出的颜色为白色RGB(255,255,255)

R2_XORPEN

画出的为青蓝色RGB(0,255,255)

2、关于soui界面透明度的问题

在使用SOUI的界面上,自定义了一个窗口控件,继承SWindow类
在定义的空间中绘制柱状图(画刷的属性为固体,透明度255)和虚线(像素透明度255)时,由于界面背景为黑色,在开发时没有注意到有什么问题,只是会出现1中的鼠标线跳帧现象,但是当程序界面下层的颜色改编为浅色时,会发现,柱状图和许仙的颜色会有轻微的改变,即具有一定的透明的,同时可以透过该程序点击到图层下层程序的相关内容。
为了解决这个问题,将控件背景,程序背景都设为了黑色,还是没有解决。
在尝试了修改各种地方的透明度和背景颜色依然无效后,终于找到了问题所在的原因,主界面的SOUI节点中的translucent属性为1,这个属性是设置主窗口的透明度,将其设置为0后,透明问题解决,同时提高了鼠标线的流畅度。
这个应该是在半透明时,电脑需要在同一块地方同时绘制两个程序的界面,加大了对cpu的消耗,导致了程序的卡顿。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习AWS DEVOPS认证需要掌握很多知识和技能,需要一份详细的学习计划,以下是一个建议的学习计划,以每周为单位: 第1周: - 熟悉AWS基础知识,包括EC2、S3、VPC等服务 - 完成AWS官方文档中的EC2入门指南 第2周: - 学习AWS的自动化部署工具,比如CodeDeploy、CodePipeline等 - 完成AWS官方文档中的CodeDeploy入门指南 第3周: - 掌握AWS的自动化管理工具,比如CloudFormation、OpsWorks等 - 完成AWS官方文档中的CloudFormation入门指南 第4周: - 学习AWS的监控和日志管理工具,比如CloudWatch、CloudTrail等 - 完成AWS官方文档中的CloudWatch入门指南 第5周: - 掌握AWS的安全和身份认证工具,比如IAM、KMS等 - 完成AWS官方文档中的IAM入门指南 第6周: - 学习AWS的数据库服务,比如RDS、DynamoDB等 - 完成AWS官方文档中的RDS入门指南 第7-8周: - 学习AWS的网络服务,比如ELB、Route53等 - 完成AWS官方文档中的ELB入门指南 第9-10周: - 掌握AWS的容器服务,比如ECS、EKS等 - 完成AWS官方文档中的ECS入门指南 第11-12周: - 学习AWS的服务器less服务,比如Lambda、API Gateway等 - 完成AWS官方文档中的Lambda入门指南 第13-14周: - 学习AWS的大数据和分析服务,比如EMR、Glue等 - 完成AWS官方文档中的EMR入门指南 第15-16周: - 掌握AWS的机器学习和人工智能服务,比如SageMaker、Rekognition等 - 完成AWS官方文档中的SageMaker入门指南 第17-18周: - 学习AWS的开发工具,比如Cloud9、CodeStar等 - 完成AWS官方文档中的Cloud9入门指南 第19-20周: - 学习AWS的移动服务,比如Mobile Hub、Device Farm等 - 完成AWS官方文档中的Mobile Hub入门指南 第21-22周: - 复习和总结之前学习的内容 - 完成AWS官方文档中的DEVOPS认证培训课程 第23-24周: - 做模拟考试,强化自己的考试技巧和知识点掌握程度 建议在学习过程中,可以结合实际项目和练习来加深印象和理解。同时,也可以参加一些线上或线下的培训课程,与同行或导师交流学习心得,提高学习效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值