3

我正在使用自定义开发的鼠标光标,它在鼠标指针旁边呈现带有文本的位图。通常这工作得很好。但是,在某些显卡(包括 geforce 9500)上,如果我使用 nvidia 控制面板将显示器旋转到纵向模式 - 文本会被部分裁剪,因此只显示第一个字母的一半。然而,部分显示的字母似乎已正确旋转。

这是一个已知的问题?有人知道这是怎么发生的吗?(我会尝试粘贴代码的相关部分,虽然有点多)我使用的是 Windows 7,c# 中的代码。

Edit1:发现了一些有趣的东西 - 如果我在指针旁边写的字符串很短(例如“Aa”)它会被破坏,但如果它更长(比如“Aaa”)它可以很好地旋转。

Edit2:这是有问题的代码:

int width = cursor.Size.Width + textSize.Width + scrollTokenSize.Width - 10;
int height = cursor.Size.Height;
bitmap = new Bitmap(width, height);

该位图设置在光标旁边。问题(我认为)是高度和宽度的大小不同,如果我让位图只使用最大值两次,那么我的文本将显得太远,从指针向下(但它都显示我应该提到)。想法?

4

1 回答 1

1

对于任何感兴趣的人,我设法通过将我的非方形位图添加到透明方形位图上来解决这个问题。猜猜显卡假设鼠标指针是平方的。

于 2012-11-14T12:04:00.940 回答