vnc自适应屏的触摸

vnc自适应屏的触摸,坐标计算

//服务器的纵横坐标比
   float serverf = (float) getImageHeight() / (float) getImageWidth();
   // float fh = (float)(getImageHeight() - (float)getWidth() /
   // serverf) / 2f;
   //客户端与服务器的横坐标比
   float fsxx = (float)  getWidth() /(float) getImageWidth();
   //客户端与服务器的纵坐标比
   float fsyy = (float) getHeight() /(float)  getImageHeight();
   // // 客户端的纵横坐标比
   float clientf = (float) getHeight() / (float) getWidth();
   //实际的纵坐标
   float fy = getWidth() * serverf;
   // 纵向空隙
   float fffy = (getHeight() - fy) / 2f;

   //实际的横坐标
   float fx = getHeight() / serverf;
   // 横向空隙
   float fffx = (getWidth() - fx) / 2f;

   //计算横纵坐标的实际位置,mouseX,mouseY为发到服务器的实际坐标触摸点
   if (serverf > clientf) {
    mouseX = (int) ((x - fffx) / fsyy);
    mouseY = (int) (y / fsyy);

   } else if (serverf < clientf) {
    mouseX = (int) (x / fsxx);
    mouseY = (int) ((y - fffy) / fsxx);

   } else {
    mouseX = (int) (x / fsxx);
    mouseY = (int) (y / fsyy);
   }   

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值