社区
图形处理/算法
帖子详情
在线等,怎样在图片上画点,画直线,并得到指定像素的坐标??先送100分
chary8088
2009-10-22 02:18:11
我把图片放进 图片控件里
1:怎样在图片上画点,画直线?
2:并得到指定像素的坐标??
...全文
602
15
打赏
收藏
在线等,怎样在图片上画点,画直线,并得到指定像素的坐标??先送100分
我把图片放进 图片控件里 1:怎样在图片上画点,画直线? 2:并得到指定像素的坐标??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
努力学习_提高自己
2009-10-22
打赏
举报
回复
你在贴图的时候肯定指定了贴图的位置(坐标)了吧??
有了这个坐标然后还有鼠标点击的坐标值做一个运算不就能得到在图片中的位置了??!
chary8088
2009-10-22
打赏
举报
回复
哈哈,可以了;
//更改坐标系统原点
dc.SetViewportOrg(Recto.left, Recto.top);
用这个就可以搞定了,非常感谢,结贴
[Quote=引用 13 楼 fandh 的回复:]
这里面,要做一下坐标与像素之间的转换就可以了!
具体转换,可以看下面两个帖子:
http://topic.csdn.net/t/20060310/09/4605023.html
http://www.abc188.com/info/html/chengxusheji/C-C--/20080411/64788.html
[/Quote]
fandh
2009-10-22
打赏
举报
回复
这里面,要做一下坐标与像素之间的转换就可以了!
具体转换,可以看下面两个帖子:
http://topic.csdn.net/t/20060310/09/4605023.html
http://www.abc188.com/info/html/chengxusheji/C-C--/20080411/64788.html
chary8088
2009-10-22
打赏
举报
回复
多谢 fandh, 划线我明白怎么回事了;可是获取 指定点的坐标怎么获取??
GetPixel是像素值,不是坐标哦
[Quote=引用 11 楼 fandh 的回复:]
比如你将图片装载到一个bitmap,句柄是m_hBitmap
CDC memdc;
memdc.CreateCompatibleDC( pDC );// 创建一个设备上下文来记忆上面的设备上下文。也是与m_pictureshow相兼容的设备上下文
memdc.SelectObject(m_hBitmap);// 把设备上下文给m_hBitmap。也就是设备上下文中存储了m_hBitmap。
memdc.LineTo(....);
memdc.GetPixel(...);
memdc.SelectObject(oldbmp );
DeleteObject(m_hBitmap);
memdc.DeleteDC();
大概就是这样的!
[/Quote]
fandh
2009-10-22
打赏
举报
回复
比如你将图片装载到一个bitmap,句柄是m_hBitmap
CDC memdc;
memdc.CreateCompatibleDC( pDC );// 创建一个设备上下文来记忆上面的设备上下文。也是与m_pictureshow相兼容的设备上下文
memdc.SelectObject(m_hBitmap);// 把设备上下文给m_hBitmap。也就是设备上下文中存储了m_hBitmap。
memdc.LineTo(....);
memdc.GetPixel(...);
memdc.SelectObject(oldbmp );
DeleteObject(m_hBitmap);
memdc.DeleteDC();
大概就是这样的!
fandh
2009-10-22
打赏
举报
回复
[Quote=引用 6 楼 chary8088 的回复:]
问题是怎么画,LineTo??引用 4 楼 fandh 的回复:
在图片上画点与画线,先要装载图片,然后,与画图设备关联,最后,在画图设备上面画,画完后,保存图片!
得到指定像素的坐标用GetPixel函数,一样要与画图设备关联!
[/Quote]
对,你关联的设备DC,就用DC->LineTo()
chary8088
2009-10-22
打赏
举报
回复
[Quote=引用 8 楼 dkbrain 的回复:]
GetPixelAddress获取图像数据的地址,然后再操作,这样效率会高很多,GetPixel速度是非常慢的,如果你要处理的点非常多,运行的时候等都等到你死。
[/Quote]
我现在是不用GetPixel,是获取像素的坐标哦,不是像素的值;这个坐标是相对于图片的坐标
dkbrain
2009-10-22
打赏
举报
回复
GetPixelAddress获取图像数据的地址,然后再操作,这样效率会高很多,GetPixel速度是非常慢的,如果你要处理的点非常多,运行的时候等都等到你死。
chary8088
2009-10-22
打赏
举报
回复
GetDlgItem(IDC_PICTURE1)->ScreenToClient(&pt);//这个点坐标就是了
这个坐标是相对于 程序左上角的,不是相对于图片的坐标哦
chary8088
2009-10-22
打赏
举报
回复
问题是怎么画,LineTo??[Quote=引用 4 楼 fandh 的回复:]
在图片上画点与画线,先要装载图片,然后,与画图设备关联,最后,在画图设备上面画,画完后,保存图片!
得到指定像素的坐标用GetPixel函数,一样要与画图设备关联!
[/Quote]
fishion
2009-10-22
打赏
举报
回复
你用的是图片控件的话,就可以直接在
PreTranslateMessage中处理W
if(pMsg->msg == M_LBUTTONDOWN && pMsg->hwnd == GetDlgItem(IDC_PICTURE1)->m_hWnd)
{
CPoint pt = pMsg->pt;
GetDlgItem(IDC_PICTURE1)->ScreenToClient(&pt);//这个点坐标就是了
}
fandh
2009-10-22
打赏
举报
回复
在图片上画点与画线,先要装载图片,然后,与画图设备关联,最后,在画图设备上面画,画完后,保存图片!
得到指定像素的坐标用GetPixel函数,一样要与画图设备关联!
chary8088
2009-10-22
打赏
举报
回复
TO LS,我是得到指定点(像素)的坐标,也就是我用鼠标点一下,就知道这个点的坐标,在图片里的坐标啊
laviewpbt
2009-10-22
打赏
举报
回复
GetPixel(x, y)
chary8088
2009-10-22
打赏
举报
回复
for (x = 0; x < bmpWidth; x++)
for (y = 0; y < bmpHeight; y++)
if (pDC-> GetPixel(x, y) == clrYour)
reuturn CPoint(x, y);
这样可以得到所有像素的坐标,但是怎么得到指定点的坐标呢,这个坐标是相对于图像本身来说的
QT实现
画
板功能-QPainter方法
文章链接: 实现mouseMoveEvent鼠标移动事件当我们的鼠标发生移动的时候记录两个
坐标
值,一个为移动起始
坐标
,一个为移动后的
坐标
,然后调用update重新绘
画
我们的页面,在paintEvent绘
画
事件中我们使用QPainter绘
画
直线
,因为鼠标移动事件是实时发生,所以新
坐标
和旧
坐标
的距离只会有一个点的差距,所以绘
画
的
直线
会被描述为一个
像素
为1X1的点,然后通过这些点就组成了链接的线。
huaxian.rar_MFC中点
画
线法
VC6.0MFC中点
画
线法表示
直线
程序,
指定
起点终点
坐标
,判断两个
像素
点是在
直线
的下方,上方还是
直线
上,从而确定该选择那一个
像素
点。
windowCDC 绘图
CDC类: 功能:1. 抽象出
画
纸,以左上角为
坐标
系原点,向右X轴增长,向下Y轴增长,以屏幕
像素
为最小刻度单位 2. 提供绘图函数,实现图形绘制,比如
画
直线
使用MoveTo函数(
指定
起点)和LineTo函数(
指定
终点);
画
矩形使用Rectangle函数(
指定
矩形左上角
坐标
,右下角
坐标
)... 2、CPen类: 功能:1. 抽象出
画
笔,通过调用CDC类的SelectObject函数传参后,才能使用 2.
画
笔创建时需要
指定
的宽度(
像素
为单位)、颜色(R/G/B 3源色,使用宏RGB(,,,)创建,取值0~255)、线型(实线--宏PS_SOLID, 虚线--宏PS_DASH,点线--宏PS_DOT .....)
python获取
图片
某
像素
点位置_如何在python中获取图像中
指定
区域内的所有
像素
坐标
?...
假设是矩形,可以使用^{}为左上角和右下角之间的点生成
坐标
矩阵。在X, Y = np.mgrid[xmin:xmax, ymin:ymax]并用^{pr2}$编辑:任意形状正如马克·塞切尔指出的,你的问题中没有一个是关于矩形的。在如果要列出任意路径中的所有点,不一定是4个顶点,可以使用contains_points()from{}^{}。在import numpy as npimport matp...
查看照片的
指定
位置的
像素
点值,并在照片中绘制一条
指定
像素
颜色的线段
查看照片的
指定
位置的
像素
点值,并在照片中绘制一条
指定
像素
的线段 import cv2 img = cv2.imread('E:\Python-workspace\OpenCV\yanyu/beyond.png',1)#1为彩色
图片
,0为灰度
图片
(b,g,r) = img[20,20]#取照片的(20,20)处的
像素
点,左上角为(0,0),横为y轴,竖为x轴 print(b,g,r)#OpenCV中的
像素
为BRG for i in range(1,50):#左闭右开 img[i,
100
] = (0,
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章