android 计算像素距离,android-计算图像上两点之间的像素

事实证明,我没有很好地解释自己想做的事情,因此我将再次重新编写整个问题,并添加图形来帮助进行解释.

我正在为android / iPhone设计一个应用程序.我已经为它设计了一种算法,但是卡在了下一种算法上.我的目的是在图像上放置两条水平线(任何图像,仅是iPhone / android拍摄的照片),然后计算线所依赖的像素,然后计算它们之间的像素数.

拍摄这张照片:

然后在图像上的任意位置放置两条水平线,如下所示:

我要计算的是y的值,或者两行之间有多少垂直像素.要做到这一点,我必须知道这两条线位于哪个像素上.

假设水平线的高度都只有1个像素,我将用它来计算出该线位于图像中的哪个像素.即每条水平线上的y-intercept(y = mx c)或c的值是多少.

为了进一步解释我的意思,我们假设图像是图形.每个像素等于1,因此对于分辨率为1920×2560的图像,y轴的最大值为1920,x轴的最大值为2560.我将如何设计算法来计算两行的y截距是?

解决方法:

两点之间的距离(毕达哥拉):

dx = x1 - x2;

dy = y1 - y2;

dist = sqrt (dx*dx + dy*dy);

两条水平线之间的距离:

d = y1 - y2;

如果将您的线定义为y1 = k1x n1和y2 = k2x n2,那么(它们是水平的,k1和k2为0)它们之间的距离为n2-n1.

编辑:好的,在您编辑问题之后,现在变得更有意义了.但仍然:由于您(或用户)正在添加行,因此您的代码始终知道它们的位置.它们的结束坐标为:

第1行:{(0,y1):( picture.width,y1)}

第2行:{(0,y2):( picture.width,y2)}

距离:| y2-y1 |

由于它们都是水平的,因此它们当然不会交叉.

您应该仅在适当的空间中保留对y1和y2的引用(来自行放置代码).由于您的问题是针对Android和iOS的,因此答案是:在与MVC中的模型相对应的那部分代码中.

标签:pixel,iphone,algorithm,android

来源: https://codeday.me/bug/20191201/2082297.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值