切換座標系對映模式

2021-07-23 18:56:14 字數 2079 閱讀 1174

對映模式

int setmapmode(

hdc hdc,//dc控制代碼

int fnmapmode // 對映模式

);fnmapmode 對映模式如下:

mm_text - 預設, 1個邏輯單位 = 1個畫素 x軸右軸為正,y軸下為正

mm_hienglish  1個邏輯單位 = 0.001英吋

mm_loenglish 1個邏輯單位 = 0.01英吋

mm_himetric - 1個邏輯單位 = 0.01公釐

mm_lometric   1個邏輯單位 = 0.1公釐

mm_twips   1個邏輯單位 = 1 / 1440英吋(印表機常用)

以上五個對應關係x軸右為正,y軸上為正

#include

#include "resource.h"

#include

#pragma comment(lib,"msimg32.lib")

// 視窗處理函式

hinstance g_hinstance = 0;

lresult callback wndproc(hwnd hwnd, uint umsg, wparam wparam, lparam lparam)

;getobject(bitmap, sizeof(bmpinfo), &bmpinfo);

hdc dc = beginpaint(hwnd, &ps);

setmapmode(dc, mm_twips);

hdc hmemdc = createcompatibledc(dc);

auto oldbitmap = selectobject(hmemdc, bitmap);

rect rect;

getclientrect(hwnd, &rect);

stretchblt(dc, 0, 0, rect.right, -rect.bottom, hmemdc, 0, 0,bmpinfo.bmwidth,bmpinfo.bmheight,srccopy);

selectobject(hmemdc, oldbitmap);

//deleteobject(bitmap);

endpaint(hwnd, &ps);

}break;

case wm_destroy:

postquitmessage(0);

default:

break;

}return defwindowproc(hwnd, umsg, wparam, lparam);

}// 視窗註冊函式

void register(lpcwstr lpclassname, wndproc wndproc)

;wcx.cbcl***tra = 0;

wcx.cbsize = sizeof(wcx);

wcx.cbwndextra = 0;

wcx.hbrbackground = (hbrush)(color_window + 1);

wcx.hcursor = loadcursor(g_hinstance, idc_arrow);

wcx.hicon = null;

wcx.hiconsm = null;

wcx.hinstance = g_hinstance;

wcx.lpfnwndproc = wndproc;

wcx.lpszclassname = lpclassname;

wcx.lpszmenuname = null;

wcx.style = cs_hredraw | cs_vredraw;

registerclas***(&wcx);

}hwnd createmain(lpcwstr lpclassname)

int exec()

;while (getmessage(&msg, null, 0, 0))

return msg.wparam;

}int winapi winmain(

hinstance hinstance,

hinstance hprevinstance,

lpstr lpcmdline,

int ncmdshow

)

座標系統 對映模式

三種座標系統 螢幕座標 全視窗座標 客戶區座標 clienttoscreen 把客戶區座標轉換到螢幕座標 screentoclient 把螢幕座標轉換到客戶區座標 getwindowrect 以螢幕座標形式獲取整個視窗的位置和大小 getclientrect hwnd,rect dptolp hdc...

大地座標系 地理座標系 投影座標系

大地座標系 是大地測量中以參考橢球面為基準面建立起來的座標系。地面點的位置用 大地經度 大地緯度和大地高度 表示。大地座標系的確立包括選擇乙個橢球 對橢球進行定位和確定大地起算資料。乙個形狀 大小和定位 定向都已確定的地球橢球叫參考橢球。參考橢球一旦確定,則標誌著大地座標系已經建立。大地座標系是一種...

經緯高座標系 ECEF座標係 ENU座標系

無人機搭載的rtk獲得的經緯高座標要轉換為東北天座標,才能用於區域性的導航和定位。為了這個目的,查閱資料,越查越懵逼,竟然這麼多的座標系,略懂之後,將學到的資訊記錄如下,很多跟我的目的 rtk的lbh座標轉換為東北天座標 有點遠,但是把周邊知識搞的清楚了,還是有意義的。所以記錄在下,最終的經緯高座標...