MFC,如何在图片控件上边画线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC,如何在图片控件上边画线相关的知识,希望对你有一定的参考价值。
void CBezierDlg::OnPaint()
if (IsIconic())
CPaintDC dc(this); // 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在工作区矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
else
CDialogEx::OnPaint();
//放在这里
CDC *pDC;
pDC = m_picShow.GetDC();
CPen Pen(PS_SOLID,2,RGB(0,255,0));
CPen *oldPen = pDC->SelectObject(&Pen);
pDC->MoveTo(500,100);
pDC->LineTo(600,100);
pDC->SelectObject(oldPen);
CDC *pDC = GetDlgItem(ID号)->GetDC();
GetDlgItem(ID号)->GetClientRect(&rect);
pDC->MoveTo(0,0);
pDC->LineTo(rect.right,rect.bottom);
ReleaseDC(pDC);
ID号就是你图片控件的资源号,默认的静态图片控件ID是IDC_STATIC,这必须改,改成什么都行,只要不和其他的重。这是画一条左上角到右下角的直线。 参考技术B 首先需要更改下控件id,然后为你的图片控件关联变量m_pic——默认的静态图片控件id是IDC_STATIC,是不能直接添加变量的。
画线:
CDC *pDC = m_pic.GetWindowDC();
pDC->MoveTo(1,1);
pDC->LineTo(10,10);
ReleaseDC(pDC); 参考技术C 建议你去看下孙鑫的教学视频的”第十课 图形的绘制,如何使用自定义画笔“http://www.pconline.com.cn/pcedu/empolder/gj/vc/0607/820674.html给你连接!
mfc里给picture控件加载一张位图,然后在位图上画一条线,该怎么做
首先需要更改下控件id,然后为你的图片控件关联变量m_pic——默认的静态图片控件id是IDC_STATIC,是不能直接添加变量的。
画线:
CDC *pDC = m_pic.GetWindowDC();
pDC->MoveTo(0,0);
pDC->LineTo(100,100);
参考技术A 先获取图片控件的DC,然后利用DC相关函数加载位图和画线。追问我知道加载位图,也知道画线,但不清楚怎么具体结合,你能具体代码解释一下吗
以上是关于MFC,如何在图片控件上边画线的主要内容,如果未能解决你的问题,请参考以下文章
请问如何 在MFC,用最简单的方法画出两点一线?而且要持续显示~~
在MFC中,如何读取外部的位图文件,让它显示在图片控件(Picture Control)中?
MFC中如何在一个picture 控件中显示一张opencv读入的图片?