hii*_*ran 5 pdf software-recommendation
不确定是否存在满足这种特定需求的东西,但无论如何我都会尝试。我有一些 PDF 地图,我想知道是否有任何 PDF 查看器或类似的软件可以让我测量距离,并使用指南针确定方向。
我唯一能想到的就是将地图导入到图像编辑软件中,并使用与比例相匹配的线来测量距离,但这非常不切实际,而且可能很耗时,而且我仍然无法测量航向。
编辑:不幸的screenruler
是kruler
,它们太基础了,因为它们缺乏量角器,以及进行精确旋转的能力。
可以让我叠加、移动和旋转我选择的透明图像的东西怎么样?这将使我能够创建或找到我自己的测量工具图像。
EDIT2:在平板电脑上运行 Ubuntu 18.10
尽管下面的解决方案应该可以快速为您提供所需的所有信息,但不确定信息的呈现方式是否完全满足您的描述。
\n\n这是此答案的编辑版本,现在通过一些额外的计算进行了扩展,现在包括与假想水平线的角度,以及您绘制的线的长度(以像素(相当于)为单位):
\n\n\n\n#!/usr/bin/env python3\nimport subprocess\nimport os\nimport math\n\nhome = os.environ["HOME"]\narea = home+"/"+".measure_area.txt"\n\ndef get_pos():\n pos_data = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8")\n return [m[2:] for m in pos_data.split()[:2]]\n\ndef confirm():\n get = subprocess.check_output(["xrandr", "--verbose"]).decode("utf-8").split()\n for s in [get[i-1] for i in range(len(get)) if get[i] == "connected"]:\n br_data = float(get[get.index("Brightness:")+1])\n brightness = lambda br: ["xrandr", "--output", s, "--brightness", br]\n flash = ["sleep", "0.1"]\n for cmd in [brightness(str(br_data-0.1)), flash, brightness(str(br_data))]:\n subprocess.call(cmd)\n\nif not os.path.exists(area):\n with open(area, "wt") as measure:\n measure.write(str(get_pos()))\n confirm()\nelse:\n second = get_pos()\n with open(area) as first_m:\n try:\n first = eval(first_m.read())\n w = int(math.fabs(int(second[0]) - int(first[0])))\n h = int(math.fabs(int(second[1]) - int(first[1])))\n l = str(round(math.sqrt(pow(w, 2) + pow(h, 2))))\n arc = math.degrees(math.atan(w/h))\n angle = str(round(90-arc))\n command = [\n \'zenity\', \'--info\', \'--title\', \'Area Size\', \'--width\', \'200\',\n \'--text\', "rectangle: " + str(w) + \'px x \' + str(h) + "px"\n "\\nline length: " + l + "px\\nangle: " + str(angle) + "\xc2\xb0",\n ]\n #---\n confirm()\n except SyntaxError:\n text = "Please try again, there was an error in the data"\n command = [\'zenity\', \'--info\', \'--title\', \'Please try again\', \'--text\', text]\n subprocess.Popen(command)\n os.remove(area)\n
Run Code Online (Sandbox Code Playgroud)\n\n该脚本计算鼠标指针两个位置之间的假想水平线的角度、长度和面积大小。
\n\n其工作原理如下:
\n\n该脚本使用xdotool
:
sudo apt-get install xdotool\n
Run Code Online (Sandbox Code Playgroud)将下面的脚本复制到一个空文件中,将其保存为~/bin
(您可能需要创建目录)measure_area
(无扩展名)并使其可执行。
添加您选择的组合键来运行脚本:选择:系统设置 >“键盘”>“快捷方式”>“自定义快捷方式”。单击“+”并添加命令:
\n\nmeasure_area\n
Run Code Online (Sandbox Code Playgroud)