我正在绘制图片控件中的输入数据。有没有直接的方法来改变分辨率,所以我有一个更密集的像素网格可以玩?我宁愿不必处理任何文件IO,因为我被迫执行时间。图片控件周围的对话似乎具有更高的分辨率。
我很抱歉我最初提供的信息明显不足,因为我不确定使用什么语言。下面是一个在OnPaint()函数中使用的代码片段。
//Draw X Axis
int XIncrement = 40;
int TextY = YOrigin + 5;
int IntNum;
CString Str;
//Label
dc.TextOutW(10, 5, Str = "Part Profile", 12);
dc.TextOutW(GraphMax / 2, YOrigin + 20, Str = "Part Length (in)", 16);
for (int N = 0; N < 25; N++) {
IntNum = N * 5;
Str.Format(_T("%d "), IntNum);
dc.Rectangle(N * XIncrement + XOffset, YOrigin, N * XIncrement + 2 + XOffset, YOrigin + 5);
dc.TextOutW(N * XIncrement + XOffset - 7, TextY, Str, 3);
}
我需要一个非常基本的图表来帮助在高速生产线上找出弓形检测机的算法。我使用图片控件只是因为MFC似乎没有一个优雅的解决方案,我在网上找到的其他所有内容似乎都是很多开销。如果你有其他建议我是开放的,我不是专家。就分辨率而言,我的UI上围绕此控件的文本似乎具有更精细的分辨率。如果我可以控制图片控件内的分辨率,我只是好奇。这使我能够更清晰地绘制1200个数据点的图形。
答案 0 :(得分:1)
您无法使用位图或位图放大进行任何改进。更好的选择是让用户更好地控制图形,例如插入几个滑块控件。
一个滑块可更改x偏移,例如,它允许x轴从零开始,或从50开始。另一个滑块可更改缩放。例如,x轴可以更改为从(0到100)或(0到1000)
要使图表更有趣,请通过将此行添加到主* .cpp文件来启用现代UI外观:
#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
使用更现代的字体,如Segoe UI,并设置文本背景颜色以匹配画布背景:
CFont font;
font.CreatePointFont(90, L"Segoe UI");
dc.SelectObject(font);
dc.SetBkColor(GetSysColor(COLOR_3DFACE));
dc.TextOut(0, 0, L"Hello world");