Picture控制元件中的圖片是使用 CvvImage::DrawToHDC 顯示的。
我現在要通過滑鼠點擊Picture控制元件中的位置,來獲取Picture控制元件中圖片的像素位置。
例如我的圖片是640*480 像素。 在Picture控制元件中顯示, Picture控制元件可能是700*500;
滑鼠點擊時我可以獲得Picture控制元件的位置, 但如何才能獲得Picture控制元件中圖片(640*480)的像素位置。
Picture控制元件和圖片會有什么用的映射關系呢?
uj5u.com熱心網友回復:
Move 圖片 Window 為 圖片 大小uj5u.com熱心網友回復:
CDC 有 GetPixel函式CDC::GetPixel
uj5u.com熱心網友回復:
你說的這個函式是獲取圖片的像素值,我想獲得的是Picture控制元件對應位置的圖片像素位置。
uj5u.com熱心網友回復:
{
CWnd *pCtrl = GetDlgItem(IDC_PIC_CTRL);
if(pCtrl && pCtrl->m_hWnd)
{
CDC *pDC = pCtrl->GetDC();
if(pDC)
{
COLORREF cr = pDC->GetPixel(x, y);
pCtrl->ReleaseDC(pDC);
}
}
}
uj5u.com熱心網友回復:
多謝兄弟回復。我需要的不是這個位置的Rgb值。需要的是picture控制元件中位置對應影像的坐標位置(即這個影像的行列值,左上角看成(0,0))
uj5u.com熱心網友回復:
"圖片像素位置" 與圖片 格式 有關 !uj5u.com熱心網友回復:
例如x坐標可以640/700*x來得到影像的大概坐標,到我覺得應該有更準確的方法uj5u.com熱心網友回復:
好像沒啥好辦法,還是用比列關系算個差不多的吧,差距不會很大的uj5u.com熱心網友回復:
控制元件MoveWindow成圖片大小那?
uj5u.com熱心網友回復:
控制元件MoveWindow成圖片大小 后 沒有 比例 問題 了,但 圖片中的 行列 位置 還是 與 圖片 格式 有關Icon,Bitmap; png ........
uj5u.com熱心網友回復:
我用了一個最笨的辦法,把picture控制元件改成和圖片一樣大小
uj5u.com熱心網友回復:

uj5u.com熱心網友回復:
圖片寫入DC后,你想訪問圖片內容,你必須BitBlt出來(設備DC---> 記憶體DC)然后訪問記憶體uj5u.com熱心網友回復:
將圖片的data讀入buffer中,然后根據滑鼠指向的位置,從buffer中對應位置讀出pixel值轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/40523.html
標籤:圖形處理/算法
下一篇:setWindowspos函式
