坐标转换?????

hpencil 2004-05-09 09:43:58
请问如何将平面直角坐标系的某点转换到屏幕坐标系中.(一个原点在左下角一个原点在左上角),最好能有详细说明??
...全文
33 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
COpyFRee 2004-05-09
  • 打赏
  • 举报
回复
噢,按你的要求是写反了,不过方法是一样的啊,既然你知道平面几何坐标,那中间的部分反过来不就行么?
Rurama 2004-05-09
  • 打赏
  • 举报
回复
我不清楚你的程式要做什么啊。可不可以说说
hpencil 2004-05-09
  • 打赏
  • 举报
回复
To: Rurama
能不能说详细点!!!!
To :COpyFRee
你好像弄反了吧!
Rurama 2004-05-09
  • 打赏
  • 举报
回复
有转换的API,好像是什么ToScreen吧。不过我用的时候感觉不好,所以后来就用了一个控件ScrollBox放在了窗体上然后取坐标操作,很好好用。:)
COpyFRee 2004-05-09
  • 打赏
  • 举报
回复
一个 Form 上放置两个 Label 控件,名称默认。窗体 MouseMove 事件如下:
//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
TPoint pos1; //存放屏幕坐标
TPoint pos2; //存放平面几何坐标

pos1.x = X;
pos1.y = Y;

pos2.x = GetSystemMetrics( SM_CXSCREEN ) - pos1.x;
pos2.y = GetSystemMetrics( SM_CYSCREEN ) - pos1.y;

Label1->Caption = "屏幕坐标 X: " + IntToStr(pos1.x) + " , Y: " + IntToStr(pos1.y);
Label2->Caption = "几何坐标 X: " + IntToStr(pos2.x) + " , Y: " + IntToStr(pos2.y);
}
//---------------------------------------------------------------------------
zxcdewq 2004-05-09
  • 打赏
  • 举报
回复
SetViewportOrgEx可以设置坐标

BOOL SetViewportOrgEx(
HDC hdc, // handle to device context
int X, // new x-coordinate of viewport origin
int Y, // new y-coordinate of viewport origin
LPPOINT lpPoint // original viewport origin
);

不过自己转换也很容易,

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧