请教一下,缩略图与原图的坐标转换问题

microgiant 2016-10-11 03:07:47
各位请帮帮忙
我在Dialog上面用了一个picture,来显示图片,当然这是被缩小的
然后我在这个Picture显示的图片上面用鼠标画了一个矩形,想把这个矩形在原图上面显示出来,就在相同部位,请问有什么方法可以做到?
谢谢各位
...全文
184 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-10-12
  • 打赏
  • 举报
回复
Coordinate Space and Transformation Functions The following functions are used with coordinate spaces and transformations. ClientToScreen CombineTransform DPtoLP GetCurrentPositionEx GetGraphicsMode GetMapMode GetViewportExtEx GetViewportOrgEx GetWindowExtEx GetWindowOrgEx GetWorldTransform LPtoDP MapWindowPoints ModifyWorldTransform OffsetViewportOrgEx OffsetWindowOrgEx ScaleViewportExtEx ScaleWindowExtEx ScreenToClient SetGraphicsMode SetMapMode SetViewportExtEx SetViewportOrgEx SetWindowExtEx SetWindowOrgEx SetWorldTransform
boylafong 2016-10-12
  • 打赏
  • 举报
回复
原始图形坐标顶点(0,0),右下角坐标(x,y)缩放比率x方向blX,Y方向blY 再缩略图上任意一点(x1,y1),那么在原始图的坐标为(x1*blX, y1*blY)
向立天 2016-10-11
  • 打赏
  • 举报
回复
就是数学上的相似性 原图和缩略图的比例就是相似比 你的矩形在缩略图上的坐标乘上这个比例就是在原图上的坐标
xiaohuh421 2016-10-11
  • 打赏
  • 举报
回复
你是想把鼠标绘制的东西, 保存到图片文件中去吗? 这就需要操作位图的数据了. 网上代码一大把. 原理就是创建一个内存DC, 把原图先绘制到这个内存DC上, 然后再把你用鼠标绘制的东西, 绘制到这个内存DC上 然后再把这个内存DC中绘制的东西, 重新保存到图片文件就行了. 代码类似下面
void CGenPicDlg::SavePic(LPCTSTR strPath, LPCTSTR strName, Bitmap &srcBmp, tagItemInfo &info, CLSID &clsid)
{
    FontFamily fontFamily(info.mFontName); //

    Gdiplus::Font font(&fontFamily, info.mFontSize, info.mBold ? FontStyleBold : FontStyleRegular, UnitPoint);
    SolidBrush sb(info.mClr);
    Bitmap temp(srcBmp.GetWidth(), srcBmp.GetHeight(), srcBmp.GetPixelFormat());
    Graphics gp(&temp);
    gp.DrawImage(&srcBmp, 0, 0, srcBmp.GetWidth(), srcBmp.GetHeight());
    PointF pt(info.mDrawPos);
    gp.TranslateTransform(pt.X, pt.Y);
    gp.RotateTransform(info.mRotate);
    gp.TranslateTransform(-pt.X, -pt.Y);
    CString tStr = strName;
    gp.DrawString(tStr, tStr.GetLength(), &font, pt, &sb);
    tStr = strPath;
    tStr += strName;
    tStr += TEXT(".jpg");
    temp.Save(tStr, &clsid);
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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