正在阅读:Delphi学习:图像放大漫游攻略Delphi学习:图像放大漫游攻略

2004-02-14 09:34 出处:PConline 作者:amei2000go/CSDN 责任编辑:linjixiong

  BitBlt(tDC,0,0,w,h,sDC,0,0,SRCCOPY);
  SetStretchBltMode(dDC,STRETCH_DELETESCANS);
  StretchBlt(dDC,0,0,vw,vh,tDC,0,0,w,h,SRCCOPY);
  
  最后绘制到显示的区域即可:
  例如:BitBlt(GetDC(0),vx,vy,vx+vw,xy+vh,dDC,0,0,SRCCOPY);
  // ------------------------------------

  2.图像漫游

  先定义三个全局变量:
  FBeginDragPoint :TPoint; // 记录鼠标开始拖动的位置
  FBeginDragSBPoint :TPoint; // 记录“中心点”位置
  FBeginDrag :boolean; // 是否已经开始“拖动”
  a,b :integer; // “中心点”位置
  
  在鼠标左键点击时,记录鼠标的位置和“中心点”的位置,同时设置 FBeginDrag 为真
  当鼠标右键弹起时,设置 FBeginDrag 为假
  鼠标移动时,判断 FBeginDrag ,如果为假不进行处理,如果为真进行下面处理:
  假设 X,Y 为鼠标当前的位置
  a=FBeginDragPoint.X-((X-FBeginDragPoint.X)*100) div PZoom
  b=FBeginDragPoint.Y-((Y-FBeginDragPoint.Y)*100) div PZoom
  
  最后使用上面介绍的图像放大显示出图像
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品