说起来,从毕业到现在一直在做UI这块,不过直到最近才大概明白了点,其实就那一套,包括注册窗口,创建,显示和刷新以及消息循环。
简单的流程辅以windows api,可以实现许多复杂的功能,我对这点研究的不太多,所以也没什么发言权。
最近研究音视频,才觉得,原来所做的都是小意思,重点在这里,窗口的话,只是一个载体,有这个载体,可以得到一个画布,在哪块画,画什么,就看画师的技巧。windows 在这一块做的相当成熟,依据不同的图像格式,制定了不同的加载方式,createdibsection可以加载文件,不过要遵从一定的格式和流程,比如打开文件,读入文件头和信息头以及颜色表,之后是读入采样值也就是像素的颜色空间,选入对应的dc,然后bitblt完事,如果用gdi+的话,会更简单。如下所示
Bitmap bitmap(pix->w, pix->h, pix->stride, PixelFormat24bppRGB,pix->samples);
Graphics g(hdc);
g.DrawImage(&bitmap, 0, 0);
pix中有长宽和颜色表,直接构造对象,draw出来即可。