每个视频Sample都有一帧未压缩的图像数据,字符叠加实际上就是将指定位置的图像的像素值替换为字符图像的像素值。
一种直观的想法是将图像帧选入GDI的DC中,再使用GDI函数TextOut和DrawText等直接在图像帧上输出字符,这种做法效率不理想,很难达到实时渲染。
另一种可选的方法是在内存中创建一个二位位图,在位图上画出字符内容,于是我们就拿到了字符内容的一块点阵信息。如0表示背景,1表示字符。在叠加的时候,将视频帧指定位置与点阵进行对应,1的话就替换调视频帧内容。
每个视频Sample都有一帧未压缩的图像数据,字符叠加实际上就是将指定位置的图像的像素值替换为字符图像的像素值。
一种直观的想法是将图像帧选入GDI的DC中,再使用GDI函数TextOut和DrawText等直接在图像帧上输出字符,这种做法效率不理想,很难达到实时渲染。
另一种可选的方法是在内存中创建一个二位位图,在位图上画出字符内容,于是我们就拿到了字符内容的一块点阵信息。如0表示背景,1表示字符。在叠加的时候,将视频帧指定位置与点阵进行对应,1的话就替换调视频帧内容。