我有一个使用GDI的Win32 GUI应用程序。它需要在指定坐标处的位图上绘制文本,然后将其删除并替换为原始位图。
我按照以下步骤进行:
然后恢复商店矩形的位图。
当ClearType抗锯齿功能关闭时,它可以正常工作。但是,GetTextExtentPoint32()返回的大小上的ClearType略小于调用TextOut()时文本实际占用的大小。因此,当我稍后恢复原始位图时,文本的一些小条纹仍然存在并且我有文物。
如果不禁用ClearType,有没有解决方法?
答案 0 :(得分:2)
您还可以尝试使用DT_CALCRECT DrawText来计算字符串大小。也许它效果更好。
然后你可以在一个矩形内写一个带有DrawText的字符串,其大小等于你用DT_CALCRECT得到的那个,它将剪切文本,以防它有点大。