V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zzbd
V2EX  ›  程序员

在线尺子网站没一个靠谱的

  •  
  •   zzbd · 1 天前 · 7257 次点击

    谷歌搜“在线尺子”,前三个没一个靠谱的,这不坑人吗 🤣

    话说,技术上很难实现吗?

    1000008363.jpg 1000008362.jpg 1000008361.jpg

    83 条回复    2024-12-27 10:15:10 +08:00
    learnshare
        1
    learnshare  
       1 天前   ❤️ 9
    技术上确实很难实现
    busterian
        2
    busterian  
       1 天前 via Android
    手机用 cpu x 的尺子
    sillydaddy
        3
    sillydaddy  
       1 天前 via Android
    我好像发现了一个商机,这就去学前端准备做一把在线尺子。名字扔给 ChatGPT 去取。
    Rickkkkkkk
        4
    Rickkkkkkk  
       1 天前   ❤️ 1
    你尝试缩放网页,如果尺子的实际大小能保持不变还靠谱点
    CodeAllen
        5
    CodeAllen  
       1 天前   ❤️ 1
    很难,因为必须要精确的知道 DPI ,精度越高才能越准确,电子尺只能在精度要求不高的情况下参考一下。精确测量只能用物理尺或者激光测距。
    yh7gdiaYW
        6
    yh7gdiaYW  
       1 天前
    手机上倒是有比较准的 app ,小米商店有个"尺子"
    vislins
        7
    vislins  
       1 天前   ❤️ 7
    技术上很难,想象一下,你的笔记本电脑上显示的 1cm 与投影仪上的 1cm 。网站怎么知道你用的是什么屏幕。
    webpan94
        8
    webpan94  
       1 天前
    难不难你尝试去实现一下就知道了,那是真的困难。。
    loading
        9
    loading  
       1 天前
    在 apple 的设备上会简单,因为无论是 iphone 还是 mac 硬件是定死的。
    elfive
        10
    elfive  
       1 天前 via iPhone
    @CodeAllen 除了 DPI 外,还有显示误差。像素是一颗一颗,离散的,而且大多数以英寸为单位,换算到毫米厘米上,就可能会有一个像素的误差。
    crz
        11
    crz  
       1 天前
    @elfive 这个误差忽略不计,而且可以分摊
    luckyrayyy
        12
    luckyrayyy  
       1 天前
    浏览器怎么获取你显示器的物理尺寸...
    zzbd
        13
    zzbd  
    OP
       1 天前 via Android
    @yh7gdiaYW 手机上是如何做到的呢? oppo 商店叫做“尺子”的 app 不提供下载了,其他的不敢下。。。
    zbowen66
        14
    zbowen66  
       1 天前 via iPhone
    不太可能实现,除非知道屏幕的物理尺寸。这个数据也许只有从显示器名字里获取个大概
    cz5424
        15
    cz5424  
       1 天前
    app 权限比较多(相比网页),Windows 如果你下载一个 exe ,也可以做到比较准确。
    @zzbd
    konakona
        16
    konakona  
       1 天前
    @zbowen66 需要结合 ai🤓
    Rust2015
        17
    Rust2015  
       1 天前
    我一般用像素大厨,当然它是用来 Layout 的,但是不碍事
    codehz
        18
    codehz  
       1 天前
    @zzbd 手机主流屏幕尺寸就那么几种,限定到品牌就更少了,就算系统不提供精确 dpi 值也可以查询一下型号算出来(
    电脑显示器尺寸千奇百怪,根本不可能有一个预设,而 windows 系统给的默认 dpi 数值也只是一个厂商填写任意数值(而且只能在几个数字里选,几乎没有可能对上),跟实际像素密度可以没有任何联系...
    flynaj
        19
    flynaj  
       1 天前
    其实简单,FastStone Capture 的做法就是让你输入 dpi 或者屏幕尺寸。然后尺子就是对的了。网页不缩放的话一样的原理。
    CTd1DJnr6KlM
        20
    CTd1DJnr6KlM  
       1 天前   ❤️ 1
    你可以用 pdf 阅读器的 100% A4 纸去比一下大小将就一下
    bigtear
        21
    bigtear  
       1 天前
    技术上很难实现吗?是的
    bigtear
        22
    bigtear  
       1 天前
    你可以拿你的手机当尺子
    ntedshen
        23
    ntedshen  
       1 天前   ❤️ 29
    图一的直接告诉你你要自己算每英寸像素数的。。。
    你不算
    图二告诉你这个得打印了用的。。。
    你不打
    图三实际上是作者踩坑踩的少了,1px 误差的问题。。。

    某种意义上这三个站都有实际功效。。。
    只是可惜 op 不读说明书。。。
    ggabc
        24
    ggabc  
       1 天前 via Android
    你都选择用在线的了,精度就不是你考虑的了
    zzbd
        25
    zzbd  
    OP
       1 天前
    @ntedshen 额,其实看了的,但是都很麻烦。。。我只是吐槽在显眼位置放一个尺子图像但大概率不准就很坑。。。
    Cheons
        26
    Cheons  
       1 天前 via Android
    虽然但是
    物理尺子本身是否标准也是个问题😂
    MossFox
        27
    MossFox  
       1 天前
    浏览器获取不到屏幕尺寸或者设备型号。这种只有原生应用才可以做到。

    不是技术上实现很难,是不可能。除非和部分安卓环境一样浏览器 User-Agent 带一下设备型号,这样还能反查一下数据库来拿屏幕尺寸。

    可以看下这里的说明,顺便量一下页面的例子和物理尺寸是不是也有偏移:
    https://www.w3.org/Style/Examples/007/units.zh_CN.html
    hefish
        28
    hefish  
       1 天前
    要实现一点都不难,只要 v2 上发个帖就行。
    PPPaul
        29
    PPPaul  
       1 天前
    我都是找张 a4 纸校准后用
    kk2syc
        30
    kk2syc  
       1 天前
    我 18cm ,直接让美女掏出来比较
    KoreaFish
        31
    KoreaFish  
       1 天前 via iPhone
    不是有一個自帶 app 叫測距儀嗎?
    weijancc
        32
    weijancc  
       1 天前
    iPhone 自带测距仪, 很牛逼很好用
    vvhy
        33
    vvhy  
       1 天前   ❤️ 1
    糊了一个,手头没有尺子,用身份证试了,感觉还可以啊
    data:text/html;base64,PGJvZHk+d2lkdGggPGlucHV0IGlkPSJ3aWR0aCIgdmFsdWU9Ijg1LjYwIiBwbGFjZWhvbGRlcj0iODUuNjAiPm1tLCB5b3VyIHNjcmVlbiBzaXplIDxpbnB1dCBpZD0iaW5jaCIgdmFsdWU9IjE0IiBwbGFjZWhvbGRlcj0iMTQiPmluY2hlcwo8ZGl2IGlkPSJib3giIHN0eWxlPSJ3aWR0aDogNDIuNDQ3NnB4OyBtYXJnaW46IDQyLjQ0NzZweDsgaGVpZ2h0OiA0Mi40NDc2cHg7Ij48c3R5bGU+ZGl2IHsKIGJveC1zaGFkb3c6IDAgMCAxMHB4ICMwMDA7Cn08L3N0eWxlPjxzY3JpcHQ+bGV0IGYgPSAoKT0+IHsKICBtbSA9ICgpID0+ICgoc2NyZWVuLndpZHRoKioyICsgc2NyZWVuLmhlaWdodCoqMikqKjAuNSkvKGluY2gudmFsdWUqMjUuNCk7CiAgYm94LnN0eWxlLndpZHRoID0gIHdpZHRoLnZhbHVlICogbW0oKSArICdweCc7CiAgYm94LnN0eWxlLmhlaWdodCA9IGJveC5zdHlsZS5tYXJnaW4gPSAxMCAqIG1tKCkgKyAncHgnOwp9CmluY2gub25jaGFuZ2U9ZjsKd2lkdGgub25jaGFuZ2U9ZjsKYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZik7CmYoKTsKPC9zY3JpcHQ+PC9kaXY+PC9ib2R5Pg==
    datou
        34
    datou  
       1 天前
    @zzbd 手机可以读取系统 ppi 的吧
    realpg
        35
    realpg  
       1 天前   ❤️ 1
    我就一个问题
    我的显示器是个投影仪 请 OP 帮我实现这个尺子
    Shilion
        36
    Shilion  
       1 天前
    An opensource app for Android comes with ruler, compass, etc. https://github.com/FoedusProgramme/Omni
    k9982874
        37
    k9982874  
       1 天前 via Android
    建议每个显示器制造商以后在生产显示器时边框内嵌一把尺子
    gbw1992
        38
    gbw1992  
       1 天前
    这个需求让我想起来之前用的 iphone 8 屏幕可以当秤来用,当时我测了一下还挺准的
    l4ever
        39
    l4ever  
       1 天前
    用 iPhone 自带的测距仪试试, 还可以, 误差+-1cm 吧
    IMZQZ
        40
    IMZQZ  
       1 天前
    有没有想过一个问题 是你手上拿着的尺子不准。。。
    就像 pdd 你买 3 个一样的尺子 说不定 3 个尺寸都不一样
    ma836323493
        41
    ma836323493  
       1 天前
    @luckyrayyy #12 当然是让用户自己输入呀
    tongjiann
        42
    tongjiann  
       1 天前
    @vislins #7 好有道理,我好像还没有看见过「复制」的显示模式下某个网页/应用显示在两个输出设备内显示比例不一致的情况。
    yhxx
        43
    yhxx  
       1 天前
    人家写的那么清楚让你填一下显示器尺寸和宽高比分辨率之类的,你就是不肯。。。
    lyxxxh2
        44
    lyxxxh2  
       1 天前

    [https://learnku.com/articles/66839](css 的单位与物理距离单位之间的换算)

    之前研究过,挺容易的啊。
    获取设备分辨率就行, js 也有接口。
    ```js
    console.log(screen.width * window.devicePixelRatio)
    ```
    8UbNRbE5c9tvj2
        45
    8UbNRbE5c9tvj2  
       1 天前
    @Shilion 这个 app 中的功能 网页版能实现几个呀?
    meteora0tkvo
        46
    meteora0tkvo  
       1 天前
    受制于浏览器和设备屏幕的兼容性问题,这种很难实现精准的
    dingdangnao
        47
    dingdangnao  
       1 天前
    我想到一个点子,在页面上放一个身份证/银行卡的框框,让用户用自己的卡片对准,调节网页缩放比例
    是不是完美解决了?
    parkhaocer
        48
    parkhaocer  
       1 天前   ❤️ 1
    @loading 但都支持外接各种屏幕、还要考虑‘投屏“等需求
    Xi
        49
    Xi  
       1 天前
    变数太多,很难实现,例如显示器尺寸、分辨率、浏览器等等,很难做到统一
    ob
        50
    ob  
       1 天前   ❤️ 1
    saranz
        52
    saranz  
       1 天前
    度量衡你用在线也是神奇,临时的大概性用一下都是勉强。
    Yanlongli
        53
    Yanlongli  
       1 天前
    基于特定显示器的会精准一些,不同显示器就不行了,比如显示器的尺寸说 32 也可能 32.5 、31.5
    gogogo2000
        54
    gogogo2000  
       1 天前
    @ob 我刚要发了,这个网站非常准

    https://www.piliapp.com/actual-size/cm-ruler/
    crc8
        55
    crc8  
       1 天前
    这个问题相当于你要在现实中证明几何学的勾股定理。
    jhdxr
        56
    jhdxr  
       23 小时 24 分钟前
    @gogogo2000
    https://www.piliapp.com/actual-size/?page=12

    这个用各国纸币校准有点意思
    www5070504
        57
    www5070504  
       22 小时 53 分钟前
    这需求跟以前那个根据用户手机壳颜色换主题一样
    EVANGELIONAir
        58
    EVANGELIONAir  
       22 小时 46 分钟前
    显示屏像素数( Pixel )= DPI × 实际尺寸( inch )

    那么只要知道 DPI ,然后绘制对应像素数,那就不可能画错尺子

    然而问题在于你不知道用户侧的像素数和 DPI 情况,比如,你怎么敢假定用户的显示器就是正交像素排列的?再比如,用户提供的 DPI 你确定是对的?
    jfjiefan
        59
    jfjiefan  
       22 小时 29 分钟前
    好奇,在线尺子的使用场景是什么?
    HashV2
        60
    HashV2  
       21 小时 6 分钟前
    你首先要知道显示屏的物理尺寸以及像素数才能去做,手机官方 app 是比较方便去实现的,显示器这个就有点麻烦
    particlec
        61
    particlec  
       21 小时 4 分钟前
    我手机 长 16.2 厘米,量了没有 18 厘米
    raymonguo
        62
    raymonguo  
       21 小时 3 分钟前
    等等,尺子是用来量东西的,在线尺子有什么用,屏幕搬起来量?
    nyxsonsleep
        63
    nyxsonsleep  
       21 小时 2 分钟前
    @zzbd #25 这不就是跟作者抬杠?
    hanhuoer
        64
    hanhuoer  
       21 小时 0 分钟前
    印象中之前在抖音上看到有人用 cursor 做过这种应用,ios 端的
    ST0RMTR00PER
        65
    ST0RMTR00PER  
       20 小时 58 分钟前
    @gogogo2000 这个好,非常准,选了屏幕尺寸之后就准了。
    ST0RMTR00PER
        66
    ST0RMTR00PER  
       20 小时 53 分钟前
    @raymonguo 你这个想法哈哈哈哈!不会拿东西过去屏幕量吗?
    EchoWhale
        67
    EchoWhale  
       20 小时 51 分钟前 via iPhone
    @lyxxxh2 devicePixelRatio 并不能算出 dpi 。

    想一下,同样的 devicePixelRatio ,同样的屏幕分辨率。做成 10 寸显示器和做成 20 寸显示器。
    lyxxxh2
        68
    lyxxxh2  
       20 小时 30 分钟前
    @EchoWhale
    所以才需要`devicePixelRatio` (dpr)。
    我文章拿小米 11 举例了,我也测过小米 11 距离。
    EchoWhale
        69
    EchoWhale  
       20 小时 2 分钟前 via iPhone
    @lyxxxh2 抱歉只看了你贴出来的代码没看文章。
    所以你的意思不也是需要知道显示设备的尺寸吗?这哪里容易了
    jackmod
        70
    jackmod  
       19 小时 44 分钟前
    @k9982874 #37 我的 ASUS PA279CV 的下边框还真的刻了尺子🐶
    JiHuGeek
        71
    JiHuGeek  
       19 小时 41 分钟前 via Android
    「一个木函」 APP 里面的尺子是准的呀
    Foxkeh
        72
    Foxkeh  
       19 小时 40 分钟前
    正好我做过显示面板开发, 只考虑显示器/电视的话, 就像
    @Xi
    @Yanlongli
    两位说的一样, 最严谨的确实只能去找具体显示器型号的规格书才能获得真实的尺寸.
    比如 19.5 寸面板实际产品型号标识会让人误以为 20 寸, 比如戴尔 E2020H
    比如 23.8 寸面板实际产品型号标识会让人误以为 24 寸, 比如戴尔 U2414H
    以及 @Yanlongli 说的 31.5 寸面板会搭配到 32 寸电视产品等等

    最后根据物理像素间隔(PPI,显示器规格书上有),再查看 Windows 的 DPI 缩放设置,以及浏览器页面缩放设置. 在网页端才能开发出来正常匹配的在线尺子. 比手机 App 真的难多了.
    lyxxxh2
        73
    lyxxxh2  
       19 小时 4 分钟前
    @EchoWhale
    确实要尺寸,ppi 需要尺寸才能求出。
    我还以为不用,太久忘记了。
    lyxxxh2
        74
    lyxxxh2  
       19 小时 1 分钟前
    我猜手机可以有获取屏幕尺寸的 api,所以就很简单。
    Tony4ee
        75
    Tony4ee  
       16 小时 48 分钟前 via iPhone
    投影仪 无解
    anivie
        76
    anivie  
       16 小时 30 分钟前
    @vislins 这个是最简单的吧,让用户全屏然后取窗口宽度不知道了
    icyalala
        77
    icyalala  
       16 小时 26 分钟前
    手机 App 的尺子,是有数据库记录每个型号手机具体的屏幕分辨率和物理尺寸,才能保证绝对准确
    PrinceofInj
        78
    PrinceofInj  
       16 小时 7 分钟前
    你的那个物理尺子倒是有意思,搞色谱的?
    jim9606
        79
    jim9606  
       15 小时 39 分钟前
    因为屏幕的尺寸指标 Pixels Per Inch,PPI 依赖屏幕硬件报告。这个数不准确那软件就算提供 api 给你读也没用。
    浏览器上 CSS 确实支持物理尺寸单位,所以在硬件报告正确+浏览器支持 DPI 缩放+系统不搞事,是可以做到的。
    https://developer.mozilla.org/zh-CN/docs/Web/CSS/length#%E7%A4%BA%E4%BE%8B
    zhez
        80
    zhez  
       14 小时 18 分钟前
    都用同一个屏幕同一个网页尺子测量,尺子准不准无所谓,保证度量衡统一就行了哈哈哈。
    xmumiffy
        81
    xmumiffy  
       14 小时 10 分钟前
    其实可以让用户用常见的统一物品校准,比如百元大钞,身份证.
    Charon2050
        82
    Charon2050  
       5 小时 4 分钟前
    @xmumiffy 同意,目前手机端工具「一个木函」用的就是这个办法,要求用户用一张银行卡/身份证的长边校准后再使用
    vislins
        83
    vislins  
       4 小时 48 分钟前
    @anivie 你知不知道你在说什么?一个 4k 分辨率的 81 寸的屏幕和一个 4k 的 27 寸的屏幕他们截图下来的图片是一样大的。用户怎么取窗口的宽度?拿尺子量?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5376 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:04 · PVG 15:04 · LAX 23:04 · JFK 02:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.