文档工具
笔记
此工具可以帮助记录信息:
- 笔记是html格式的信息片段:
- 可以用六种模式编辑笔记。
- 可对笔记设置标签。
- 可对笔记设置风格。
- 笔记本是一组笔记和笔记本。
- 笔记本名不应包含字符串“ > ”(“>”前后是空格)。
- 笔记本被组构为一棵树,即多个笔记本可以是其它笔记本的孩子。
查看PDF
此工具帮助查看PDF:
- 每页被显示为一张图像。
- 页面包含的文字可以被提取出来。
若PDF文件只包含图像,则无法提取出文字。
- 页面可以被转换为Html。
若PDF文件只包含图像,则html也只包含图像。
- 利用被转换的图像,可以做文字识别(OCR)
注意,有两类PDF文件:
- “可编辑的PDF”,由图像和文字构成,这些元素可以被修改和提取。
- “扫描的PDF”,由图像构成,只能修改和提取图像。
图像中的文字不能被修改和提取,但是可以由OCR技术识别出来。
编辑Markdown
此工具用于编辑Markdown文件(MD):
- 打开文件时将自动判断字符集和换行符。
- 若加载的内容不正确,使用“文件-格式”、改变字符集并点击按钮“确定”。
- 相应的html被转换(只读)。
- 当页数大于1时,过滤字串或定位行/对象之前应保存修改的内容。
编辑网页
编辑网页:
- 六种格式:“网页”、“网页代码”、“树形”、“富文本”、“Markdown”、“文本”。
- 每个格式都可以单独修改网页。
- 点击按钮“同步”(F10),把当前格式中的修改应用到其它格式。
- 保存网页时,取用当前格式下的内容,并自动同步到其它格式。
- 选项:在切换格式时自动同步。
- 在“弹出”菜单中选择要显示的格式和内容。
注意:
- 对于“网页”格式,可选网页是否“可编辑”。
- 同步内容时,每种格式都有可能丢失一些其它格式的特定内容。
尤其是“文本”格式,会丢失绝大多数网页格式。
网页截图
对于网页截图:
- 根据网速设置延迟的值。有的网页是懒渲染的,即内容在滚屏时才加载。
- 检查窗口尺寸和字体尺寸是否适合。越大的窗口和字体意味着越好的截图。
- 最好关闭网页的弹窗,否则弹窗将被重复截取。
编辑JSON
此工具:
- 基于JACKSON解析和处理JSON数据。
- 加载JSON所有数据,因此不适用于处理数据量很大的JSON文件。
- 用户可以用两种模式编辑JSON:
- “树形”。可以添加、修改、和删除Json结点。
- “文本”。可以用字符串来修改和解析Json数据。
- 当前页签下的编辑模式为“当前编辑模式”。
- 以下按钮对当前编辑模式生效:
- 点击按钮“同步”(F10),把当前编辑模式中的修改应用到其它模式。
- 点击按钮“保存”(CTRL+S或ALT+S),把当前编辑模式的修改保存下来,并将修改自动同步到其它模式。
- 点击按钮“菜单”(F6)或右键点击编辑区域,以弹出右键菜单。
JSON的构成:
- 字符串:双引号围起来的任意unicode字符集
- 常数:true/false/null
- 名:字符串
- 值:数字/字符串/常数/对象/数组
- 属性:
名:值
- 对象:
{ 属性1, 属性2, ... }
- 数组:
[ 值1, 值2, ... ]
编辑XML
此工具帮助编辑XML:
- 基于JDK的DOM模型来解析和处理XML数据。
- 加载XML所有数据,因此不适用于处理数据量很大的XML文件。
- 用户可以用两种模式编辑XML:
- “树形”。可以添加、修改、和删除XML结点。
- “XML”。可以用文本来修改和解析XML数据。
- 当前页签下的编辑模式为“当前编辑模式”。
- 以下按钮对当前编辑模式生效:
- 点击按钮“同步”(F10),把当前编辑模式中的修改应用到其它模式。
- 点击按钮“保存”(CTRL+S或ALT+S),把当前编辑模式的修改保存下来,并将修改自动同步到其它模式。
- 点击按钮“菜单”(F6)或右键点击编辑区域,以弹出右键菜单。
编辑文本
此工具用于编辑文本文件:
- 打开文件时将自动判断字符集和换行符。
- 若加载的内容不正确,使用“文件-格式”、改变字符集并点击按钮“确定”。
- 文本按当前字符集被编码显示在右面板中。(只读)
- 当页数大于1时,过滤字串或定位行/对象之前应保存修改的内容。
- 每个换行符计为一个字符。
字符集
当检测到文件中包含BOM,则文件字符集是明确的
BOM
BOM(Byte Order Marks) 是文件头的2或3个字节,用于UTF-16或UTF-32。
一些Windows程序会在UTF-8文件头也写上BOM,其可能导致在别的平台读写错误。
查找/替换 - 文本
关于查找/替换:
- “查找下一个”/“查找前一个”/“替换”都是从当前光标开始。
- “计数”/“全部替换”是针对整个文档,从第一个字符开始。
- 查找字串和替换字串都可以是多行。
- 每个换行符算作一个字符。
由于算法的限制,对于多页文档查找规则表达式时,假设:
匹配的字符串的最大长度小于当前JVM可用内存的1/16。
查找/替换 - 字节
关于查找/替换:
- “查找下一个”/“查找前一个”/“替换”都是从当前光标开始。
- “计数”/“全部替换”是针对整个文档,从第一个字符开始。
- 查找字串和替换字串应当是十六进制格式,如页面。
即每个字节表达为3个字符:2个大写字母/数字加上1个空格。
由于算法的限制,对于多页文档查找规则表达式时,假设:
匹配的字符串的最大长度小于当前JVM可用内存的1/16。
过滤行
包含任一: a | b | c
包含所有: a & b & c
不含任一: !( a | b | c) = !a & !b & !c
不含所有: !(a & b & c) = !a | !b | !c
查找文本文件中的字串
查找字串可以是多行。
查找字串中的换行符按照当前文件换行符的定义来处理。
由于算法的限制,对于多页文档查找规则表达式时,假设:
匹配的字符串的最大长度小于当前JVM可用内存的1/16。
替换文本文件中的字串
查找字串和替换字串都可以是多行。
查找字串和替换字串中的换行符按照当前文件换行符的定义来处理。
由于算法的限制,对于多页文档查找规则表达式时,假设:
匹配的字符串的最大长度小于当前JVM可用内存的1/16。
转换文本为网页
转换并粘贴系统粘贴板中的文本:
- 将所有"&"换成"&"。
- 将所有"\""换成"""。
- 将所有"<"换成"<"。
- 将所有">"换成">"。
- 将所有"©"换成"©"。
- 将所有"®"换成"®"。
- 将所有"™"换成"™"。
- 将所有空格换成" "。
- 每行末尾添加“
”。
查找文件中的字节
查找字串应当是十六进制格式。
即每个字节表达为3个字符:2个大写字母/数字加上1个空格。
由于算法的限制,对于多页文档查找规则表达式时,假设:
匹配的字符串的最大长度小于当前JVM可用内存的1/16。
MyBox粘贴板中的文本
双击项目或点击按钮“粘贴”以粘贴到目标
若选择了“不重复”:
- 新进来的文本将被检查是否与已存在的项目相同。
若已存在,则不添加新项目。已存在的项目更新为新的时间。
- 所有已存在的项目不会被检查是否有重复。
查看Word文件-网页/文本模式
此工具用以查看Word文件:
- 文件".doc"(Word 97)被转换为html(保留大部分格式)。
- 文件".docx"(Word 2007)被转换为文本(格式丢失).
图像工具
编辑图像
此工具帮助编辑图像。
图像以色彩空间“sRGB”的24位RGB或32位ARGB格式处理,即使它被转变为灰色或者黑白色。
若要转换色彩空间或者压缩图像文件,执行“另存为”(F5 或 CTRL+B 或 ALT+B)。
查看图像时要限制像素,设置“加载宽度”。
编辑SVG(可缩放矢量图形)
此工具帮助编辑SVG(Scalable Vector Graphics ,可缩放矢量图形):
- 基于Apache Batik来解析和处理SVG数据。
- 加载SVG所有数据,因此不适用于处理数据量很大的SVG文件。
- 用户可以用两种模式编辑SVG:
- “树形”。可以添加、修改、和删除SVG结点。
- “XML”。可以用文本来修改和解析SVG数据。
- 当前页签下的编辑模式为“当前编辑模式”。
- 以下按钮对当前编辑模式生效:
- 点击按钮“同步”(F10),把当前编辑模式中的修改应用到其它模式。
- 点击按钮“保存”(CTRL+S或ALT+S),把当前编辑模式的修改保存下来,并将修改自动同步到其它模式。
- 点击按钮“菜单”(F6)或右键点击编辑区域,以弹出右键菜单。
已知问题:当SVG数据格式错误或包含不合法内容时,可能导致MyBox崩溃。
图像量化
减少图像中颜色数量的技术称为“颜色量化”。
为了不同的目的可以选择不同的算法:
- 对于多数图像的256色颜色量化,RGB均等量化最快并且足够好。
- K-Means聚类适用于计算图像中最不同的颜色。
- 统计量化适用于计算图像中出现最多的颜色。
基本原理:
- 把颜色空间从RGB(256*256*256)或HSB(360*100*100)映射到指定尺寸的颜色集(目标调色板)。
- 对于K-Means聚类和统计量化,实际有两次量化。
颜色以RGB均等量化被预处理为更小的区域,然后计算运行于这个颜色集。
选项:
- 既然颜色有三个维度,可以平衡通道的权重以得到更好的映射。
- "抖动处理”可以改善颜色量化后的图像的质量。
- 目标调色板的取色策略:
- "中间色”可能调整量化后的图像的质量,但是可能产生原图像没有的新颜色。
- "首色”只取原图像的原色。
结果的颜色数量可能与预期值不同:
- 当RGB/HSB均等量化构建调色板时,球体的尺寸可能大于目标大小。
- 当源图像包含较少的颜色时,结果的大小可能小于目标大小。
抖动处理
抖动处理是扩散量化误差以避免色带的技术。
在颜色量化(减色)以后,利用它可以改善图像质量。
色彩匹配
如何匹配颜色:
1)“色彩距离”或者“色相距离”表明两个颜色的差别。
“颜色差别”的定义可以参考"https://en.wikipedia.org/wiki/Color_difference"
2)当颜色距离小于定义的距离值时,意味着两种颜色是“匹配的”。
3)当颜色距离定义为零时,则意味着颜色是精确匹配的。
4)当选择多个颜色来比较图像像素时,它们的关系是“或”,即像素与任意被选色彩匹配成功即为真
预乘透明
一些图像格式如png/tiff用专门的透明通道来保存像素的不透明度,称为“直接透明”。
“预乘透明”指将颜色通道乘以透明值。利用这个技术,没有透明通道的图像格式也可以展示出不透明度。
预乘透明会改变颜色通道的值,在缺失透明值的情况下图像无法被恢复。
所以,若图像不能被修改时不要应用这个技术。
阈值化
目标图像的颜色通道将只包含小值或者大值。
例如,若小值为0且大值为255,当图像处理完毕,像素的红蓝绿值不是0就是255。
因此,处理后的图像只包含以下颜色:
黑色(red = 0, green = 0, blue = 0)
白色(red = 255, green = 255, blue = 255)
红色(red = 255, green = 0, blue = 0)
绿色(red = 0, green = 255, blue = 0)
蓝色(red = 0, green = 0, blue = 255)
黄色(red = 255, green = 255, blue = 0)
橙色(red = 255, green = 0, blue = 255)
青色(red = 0, green = 255, blue = 255)
对比度
修改图像的对比度:
- 可针对对象:饱和度、明亮度、灰度。
- 可选以下算法:
- 直方图均衡化:
- 统计直方图:横轴为对象的值,纵轴为像素的数量。
- 按正态分布的规律计算对象的新值。
- 替换对象的值。
- 直方图拉伸:
- 输入参数:像素阈值、像素百分比
- 统计直方图:横轴为对象的值,纵轴为像素的数量。
- 计算横轴左右两端需要截断的位置,条件是:
像素数量(y)小于给定的阈值、或者累计像素数量(area)小于给定百分比。
- 替换对象的值:
- 左端被截断的像素为对象的最小值。
- 右端被截断的像素为对象的最大值。
- 中间未被截断的像素为按截断位置计算所得的归一化值。
- 直方图偏移
- 输入参数:对象值的偏移量,可为正值或负值。
- 统计直方图:横轴为对象的值,纵轴为像素的数量。
- 按偏移量计算对象的新值。
- 替换对象的值。
- 透明像素被跳过:它们既不参与统计、也不被修改。
斜拉
以下映射可以使图像产生倾斜拉伸的效果:
tx = x + rx * y
ty = x * ry + y
其中:
tx: 目标图像的横轴值
ty: 目标图像的纵轴值
x: 原图像的横轴值
y: 原图像的纵轴值
rx: 横向倾斜比率
ry: 纵向倾斜比率
注意,以下组合将把图像(二维)映射为一条线(一维),因此非法:
1) rx=1 ry=1
2) rx=-1 ry=-1
重复/平铺图像
此工具帮助制作背景/纹理图:
- 选择一个图像, 作为重复的单元。
- 选择重复的类型:
- 按横向个数和纵向个数来重复单元。
- 按画布的宽高来平铺单元。
- 设置单元的间隔。负值可以产生交错的效果。
- 设置目标图像的边沿。
采样图像
此工具减少图像的像素个数:
- 移动矩形并调整它的尺寸,以定义需要的区域。
- 设置宽度缩小比和高度缩小比。
当一个图像文件包含太多像素而被采样加载时,
本工具处理的是文件中的原图像而非加载到内存的图像。
分割图像
此工具将一个图像分割为多个部分。
当一个图像文件包含太多像素而被采样加载时,
本工具处理的是文件中的原图像而非加载到内存的图像。
编辑图像列表
本工具用以编辑图像列表:
- 可以添加:
- 动态gif文件,每一帧都被加到列表中
- 多帧tif文件,每一帧都被加到列表中
- PDF文件,每一页被转换为图像并被加到列表中
- PPT文件,每一页被转换为图像并被加到列表中
- 系统粘贴板中的图像
- 所有支持的图像格式文件
- 移动图像以设置顺序。
- 设置图像的时长,用于播放列表和保存动态gif文件。
- 播放列表:用CTRL/SHIFT选择一些图像来播放,或不选任何图像以播放整个列表。
- 保存列表:
- 用CTRL/SHIFT选择一些图像来保存,或不选任何图像以保存整个列表。
- 将每一项保存为一个支持的图像格式文件。
- 合并为一个多帧tif文件
- 合并为一个动态gif文件
- 合并为一个PDF文件
- 合并为一个PPT文件
播放图像列表
此工具用于逐帧显示图像:
- 以下类型的文件可以播放:
- 动态gif文件
- 多帧tif文件
- PPT
- PDF
- PPT/PDF文件的每页被转换为一帧图像来显示。
- 设置选项:
- 要显示的帧范围
- 图像加载的宽度
- 对PDF图像设置dpi
识别图像中的文字
OCR引擎:
- 对于win,可以选择内置的和安装的tesseract。
- 对于linux和mac,只能使用安装的tesseract。
OCR数据文件目录:
- 可以设为任何可读可写的目录。
- 若已安装tesseract,建议设为它的子目录 "tessdata"。
- MyBox包含以下数据文件,若此目录下没有这些文件,则MyBox将它们把复制到此目录下:
chi_sim.traineddata 简体中文
chi_sim_vert.traineddata 简体中文 - 竖排
chi_tra.traineddata 繁体中文
chi_tra_vert.traineddata 繁体中文 - 竖排
eng.traineddata 英语
equ.traineddata 数学公式
osd.traineddata 朝向和脚本
若你的账户无法写此目录则复制会失败。
另外,这些文件只能被tessearact v4.* 或v5.*读取。
注意:当使用内置引擎时,文件/目录名最好是纯英文,以免失败。
所基于的OCR库自身包含若干预处理(如转为黑白)。
有时候使用原图直接识别更好。
提取图像的透明通道
对于每个源文件,将生成两个文件:
"xxxxx_alpha.png" 只保存着源文件的透明通道,为PNG格式
"xxxxx_noAlpha.yyy" 只保存源文件的RGB通道,为所选格式
转换图像为SVG
对于大图像,可能会消耗大量CPU,内存,和时间,并且会生成大文件。
系统粘贴板中的图像
点击“开始”以后,工具将监视系统粘贴板中的图像并保存/显示它们。
系统粘贴板中的图像来自:截屏、或者软件产生(如“CTRL+c”)。
在Windows上,截屏的快捷键:
"PrintScreen" 全屏截图。
"Alt+PrintScreen" 对当前活跃窗口截屏。
在Linux上,截屏的快捷键:
"Ctrl+PrintScreen" 全屏截图。
"Ctrl+Alt+PrintScreen" 对当前活跃窗口截屏。
"Shift+Ctrl+PrintScreen" 对选择的区域截屏。
在Mac上,截屏的快捷键:
"Command+Control+Shift+3" 全屏截图。
"Command+Control+Shift+4" 对选择的区域截屏。
"Command+Control+Shift+4+Spacebar" 对当前活跃窗口截屏。
管理颜色
此工具用于管理颜色和调色盘:
- 同一颜色在不同调色盘可以有不同的名字和顺序号:
- 在数据表中可以修改颜色的名字和顺序号。
- "顺序号"是浮点数,即可以带小数点。
例如,把颜色的顺序号改为5.5,则它会被插入到顺序号为5和6的颜色之间。
- 也可以拖放调色盘中的颜色以调整它们的顺序。
- 点击按钮"整理调色盘中的序号"以把顺序号重写为步长为"1.0f"的值。
- 颜色的定义实际是保存在“所有颜色”列表中:
- 当删除调色盘或者在调色盘中删除颜色,不会删除颜色本身的定义,它仍然在“所有颜色”中。
- 在“所有颜色”列表中删除颜色,则会删除颜色的定义,同时在所有调色盘中删除此颜色。
- 同一颜色不仅可以在不同调色盘中,也可以在同一调色盘中重复出现。
- 从文件导入颜色时:
- 至少包含列"rgba"或"rgb"。即文件可以只含一列:"rgba"或"rgb"。
- 文件还可以包含列"name"。
绘制色度图
用户可以输入/粘贴值或者打开文件以载入光谱数据。
用户数据将按以下规则被自动检验、计算、并被显示在表格中:
- 文件可以包括注释和某种格式。
- 数据中的以下字符将被忽略和跳过:
" , | { } [ ] \t '
- 每个有效数据项应当在同一行中,并在行前部包含以下4个数值:
波长 X Y Z
(行中其它数据将被忽略,即只有每行前四个数据才被读取)
- “波长”应是整型,单位是nm。X/Y/Z是刺激值,为Double型。
一行有效数据的例子:
435 0.3285 0.01684 1.62296
- 数据应当已被适应为标准光源D50。
已被检验的用户数据可以被显示在色度图中,与标准数据做对比。
编辑ICC色彩特性文件
解码/编码的依据:ICC规范v4.3。
只有部分标签被解码和可编辑。
保存时,未解码的标签或不可编辑的标签将保持它们的原始值。
可以设置"每个数据的最大解码项"以避免因加载太多数据而导致低性能。
显示时,超过这个限制的数据项将被截断。
网络工具
下载网页
建议步骤:
1)设置选项。
2)输入或粘贴网址。
3)网址中的一级链接将列出来供你选择下载。
4)选择有用的链接。无意义的链接可能生成无用文件并且干扰最后的目录索引。
5) 若需要目录索引和合成PDF,则应确保文件名可以被正确排序。
对于被选择的链接:
- 使用功能“设置子目录名”以使其的子目录名字合理。
- 使用功能“以链接名/标题/地址为文件名”以使其的文件名有意义。
- 使用功能“在文件名前添加序号”以使其的文件名能正确排序。
MyBox可以正确排序形如"xxx9", "xxx36", "xxx157"的文件名。
6)下载选择的链接。监视它们的状态。把失败的链接加回到下载队列中。
要对表行进行排序:
1)点击列头以按此列的升序排序。
2)再次点击列头以按此列的降序排序。
3)第三次点击列头以取消此列的排序。
4)按住SHIFT键并点击更多的列头以按多列排序。
编码/解码URL
此工具帮助将字符串与application/x-www-form-urlencoded MIME之间转换。
在编码时应用以下规则:
- "a"到"z"之间的字母、 "A"到 "Z"之间的字母、以及 "0"到 "9"之间的数字保留原样。
- 特殊字符".", "-", "*", 和 "_"保留原样。
- 空字符" "转换为加号"+"
- 其它所有字符被认为是不安全的,首先采用指定的字符集转换为1个或多个字节。
然后每个字节被表达为形如 "%xy"的3个字符的字符串,其中xy是字节的十六进制两位数字表示。
解码反过来。
批量查询DNS
修改DNS配置的步骤:
- 查询IP和主机之间的映射。
- 编辑系统主机文件。需要管理员权限。
- 刷新DNS缓存:
- 在windows上,运行命令:
ipconfig /flushdns
- 在linux上,运行以下命令之一:
/etc/init.d/nscd restart
systemctl restart nscd
- 在mac上,运行以下命令之一:
lookupd -flushcache
type dscacheutil -flushcache
sudo killall -HUP mDNSResponder
微博截图
此工具用于截取任意微博账户的图像和内容:
- 对于此网站,需要初始化Webview。首次运行此工具时,将自动执行此步。
如果你错过此步或工具无法工作,点击左边的SSL按钮以执行此步。
- 关于微博账户的地址:
- 它是微博主页地址中问号“?”之前的字串。
- 如何得知微博主页地址?
用浏览器访问某人微博地址,点击页面上的“主页”,然后它的地址将显示在浏览器的地址栏里。
复制微博地址到这里,删除问号“?”之后的字串以及“?”。
- 注意:昵称地址不是真的地址。例如,“博物杂志”有昵称地址"https://weibo.com/bowu",
但是它的真实主页地址是“https://weibo.com/p/1002061195054531”。
数据工具
列
- "格式"只用于显示。在编辑输入数值时不会自动应用格式、而是保持原始的输入。
- "对于非法数值" 只用于显示或者计算。在编辑输入数值时不会自动处理非法值。
管理数据
此工具管理以下对象:
- 数据文件
- 当csv/excel/文本数据文件被相应编辑器打开时,增加/修改此文件的记录。
- 数据保存在数据文件中。
- 删除数据文件的记录不会导致数据文件本身被删除。
- 数据粘贴板
- 当数据复制到MyBox粘贴板中时,增加此数据的记录。
- 数据保存在MyBox内部目录下的文件中。
- 删除数据粘贴板的记录将会同时删除它的内部文件。
- 矩阵
- 在矩阵管理器中增删改矩阵。
- 数据保存在MyBox数据库中。
- 删除矩阵的记录将会同时删除矩阵包含的数据。
- 数据库表
- 在数据库表管理器中增删改数据库表。
- 数据保存在MyBox数据库的表中。
- 删除数据库表的记录将会同时删除数据库表包含的数据。
数据库表
此工具用以管理和编辑数据库中的数据表:
- 表名和列名应当满足“SQL标识符的限制”。
- 数据库表被创建以后:
- 不能修改和删除主键的定义。
- 可以添加和删除列定义,但是不能修改列定义。
- 数据被分页。当页数大于1时,运行一些功能之前必须保存当前页的修改。
- 对于字符串值,可以编辑和保存多行:
- 若值是单行的(不包含换行符):
- 点击数据单元时显示单行输入框。
- 在值中写入"\n" 作为换行符、然后提交修改(回车或点击其它地方)。
- 若值中包含换行符:
- 点击数据单元时显示多行输入框。
- 直接编辑多行文本。
- 数据可以用SQL语句查询。
SQL标识符
SQL标识符的限制:
- 最大长度为128。
- “普通标识符”
- 指未用双引号包围的标识符:
- 只能由字母、数字、和下划线(_)构成。
- 只能由字母开头。
- 字母和数字可以是Unicode(可以是中文)。
- 不能是SQL保留字。
- 当保存在数据库中,它被转换为大写的。
- 当在SQL语句中引用它时,忽略大小写。
例如,AbC等同于abc和aBC。
- “定界标识符”
- 指用双引号包围的标识符。
- 可以包含任何字符。
- 当保存在数据库中时,它只取双引号包围的字串。
- 当在SQL语句中引用它时,必须用双引号包围它,除了以下情形:它只包含大写字母和下划线。
例如, "AbC"不同于AbC或"ABC",而"ABC"等同于ABC和aBc.
当MyBox创建表名或列名:若名字包含非法字符,则名字用引号包围。
XY图
选择数据以绘制XY图:
- 选择一列为“类别”。
- 选择若干列为“数值”。不同的数值序列显示为不同颜色或者形状。
- 条图:
- 以条块的高度表示数据的大小。
- 类别列总是被当作字串处理。
- 线图:
- 以连接点的线条表示数据的趋势。
- 类别列可以是数字或字串。
- 气泡图:
- 以不同半径的多个圆表示数据的大小。
- “类别”列和“数值”列定义数据的坐标。
- 选择若干“大小”列,定义数据的大小。
- 所有列都必须是数字,大小列必须是非负数。
- 散点图:
- 以符号表示数据的分布。
- 类别列可以是数字或字串。
- 面积图:
- 以面积表示数据的大小。
- 类别列总是被当作字串处理。
饼状图
选择数据以绘制饼图:
- 选择一列为“类别”。
- 选择一列为“数值”。
- 以分割的圆表示数据的比例。
- 数值序列必须都是非负数。
箱线图
箱线图用来展示数据的分布:
- 数据按照列/行/全部来升序排序
- 以下项可以显示出数据的聚集性和离散性:
最小值 Q0 = 位于数据列的 0%(开头)
下四分位数 Q1 = 位于数据列的 25%
中位数 Q2 = 位于数据列的 50%(中部)
上四分位数 Q3 = 位于数据列的 75%
最大值 Q4 = 位于数据列的 100%(结尾)
- 以下项可以用于标识数据的异常值:
下极端异常值线 E1 = Q1 - 3 * ( Q3 - Q1 )
下温和异常值线 E2 = Q1 - 1.5 * ( Q3 - Q1 )
上温和异常值线 E3 = Q3 + 1.5 * ( Q3 - Q1 )
上温和异常值线 E4 = Q3 + 3 * ( Q3 - Q1 )
- 以下项可以用于离散性的参考:
均值 = 数据的平均数
- 数值是用所选择的数据计算出来的。
相比较条图
相比较条图用来对比两类数据。以下规则用来计算颜色条:
- 若值等于零,不显示条
- 当按绝对值比较时:
最大值 = 两个值列的最大绝对值
百分比 = 值的绝对值 / 最大值
宽度 = 最大宽度 * 百分比
颜色 = 若值大于零, 为列的颜色;若值小于零,为列的颜色的反色
- 当按最大最小区间比较时:
最大值 = 两个值列的最大值
最小值 = 两个值列的最小值
百分比 = (值 - 最小值)/ (最大值 - 最小值)
宽度 = 最大宽度 * 百分比
条的颜色 = 列的颜色
自比较条图
自比较条图用来对比数据与参考值。以下规则用来计算所选数据值颜色条:
- 若值等于零,不显示条
- 当按绝对值比较时:
最大值 = 列/行/所有的最大绝对值
百分比 = 值的绝对值 / 最大值
宽度 = 最大宽度 * 百分比
颜色 = 若值大于零, 为列的颜色;若值小于零,为列的颜色的反色
- 当按最大最小值区间比较时:
最大值 = 列/行/所有的最大值
最小值 = 列/行/所有的最小值
百分比 = (值 - 最小值)/ (最大值 - 最小值)
宽度 = 最大宽度 * 百分比
条的颜色 = 列的颜色
XYZ图
注意:将生成一个html文件以显示图。
请确认你的系统网页浏览器支持WebGL并且未限制本地JavaScript文件。
设置风格 / 标记异常值
管理数据风格列表:
- 添加/编辑/删除风格。
- 定义条件以约束风格应用于哪些数据单元:
- 数据行的范围
- 列名
- 行过滤
注意:在添加或删除一些数据行以后,数据的行号可能会改变。
例如,在第6行之前插入两行,则原来的第12行变成了第14行,而现在的第12行是原来的第10行。
所以“行号”不是定位特定数据行的正确方式。
引用特定的行的一个方法是列值构成的表达式。
- 定义风格的值:
- 设置字体大小、颜色、粗体等。
- 输入JavaFx CSS格式的更多值。
- 定义风格的标题和序号。
- 选择风格是否标识异常值。
- 所有风格按序号被逐条应用于数据。
简单线性回归
基于Apache Commons Math,此工具帮助生成简单线性回归的数据:
- 选择两列作为自变量和因变量。
- 回归不存储数据,所以在处理很多数据时计算本身没有内存限制。
- 当处理所有页时:
- 若选择“在图上显示所有值”,则当图中加载很多数据时可能发生内存不够。
- 否则,图上只显示当前页的数据,同时所有页都参与回归,所以没有内存限制。
- 应用线性模型,对于输入的参数,可以生成预测值。
- 在图上可以显示/隐藏拟合的点和线。
简单线性回归 - 组合
此工具帮助生成简单线性回归的数据:
- 选择一些列作为自变量的候选。
- 选择一些列作为因变量的候选。
- 选择小数位数、alpha、是否包含截距。
- 点击"确定"按钮后, 工具执行以下操作:
- 对候选列进行两两组合:一列作为自变量、另一列作为因变量。
- 计算这些简单线性回归模型。
- 把模型按判定系数(R-Square)从高到低排序
- 选择模型,点击"查看"按钮,以进一步查看相应的回归数据、拟合图、和残差图。
多重线性回归
基于Apache Commons Math,此工具帮助生成多重线性回归的数据:
- 选择一些列作为自变量。所有数据必须是数字。
- 选择一列为因变量。数据必须是数字。
- 选择是否包含截距。
- 点击"确定"按钮后:
- 工具用Z-Score算法归一化所选数据。
- 工具用普通最小二乘法(OLS)计算多重线性回归模型。
- 结果包含:截距、系数、判定系数(R-Square)、调整后的R方。
- 用户可以输入自变量的值,利用模型预测因变量的值。
多重线性回归 - 组合
此工具帮助生成多重线性回归的数据:
- 选择一些列作为自变量的候选。
- 选择一些列作为因变量的候选。
- 选择是否包含截距。
- 点击"确定"按钮后, 工具执行以下操作:
- 对备选列进行组合作为自变量和因变量。
- 计算这些多重线性回归模型。
- 把模型按调整后的判定系数从高到低排序
- 选择模型,点击"查看"按钮,以进一步查看相应的回归数据。
矩阵
加
例如:
A = a11 a12
a21 a21
B = b11 b12
b21 b21
矩阵相加 =
a11+b11 a12+b12
a21+b21 a21+b21
要求: A和B的行数和列数相同
减
例如:
A = a11 a12
a21 a21
B = b11 b12
b21 b21
矩阵相减 =
a11-b11 a12-b12
a21-b21 a21-b21
要求: A和B的行数和列数相同
乘
例如:
A = a11 a12 a13
a21 a21 a23
B = b11 b12
b21 b21
b31 b31
矩阵相乘 =
a11*b11+a12*b21+a13*b31 a11*b12+a12*b22+a13*b32
a21*b11+a22*b21+a23*b31 a21*b12+a22*b22+a23*b32
要求: A的列数与B的行数相同
哈达马积
例如:
A = a11 a12
a21 a21
B = b11 b12
b21 b21
哈达马积 =
a11*b11 a12*b12
a21*b21 a21*b21
要求:A和B的行数和列数相同
克罗内克积
例如:
A = a11 a12
a21 a21
B = b11 b12
b21 b21
克罗内克积 =
a11*b11 a11*b12 a12*b11 a12*b12
a11*b21 a11*b21 a12*b21 a12*b21
a21*b11 a21*b12 a22*b11 a22*b12
a21*b21 a21*b21 a22*b21 a22*b21
垂直合并
例如:
A = a11 a12
a21 a21
B = b11 b12
b21 b21
垂直合并 =
a11 a12
a21 a21
b11 b12
b21 b21
要求: A和B的列数相同
水平合并
例如:
A = a11 a12
a21 a21
B = b11 b12
b21 b21
水平合并 =
a11 a12 b11 b12
a21 a21 b21 b21
要求:A和B的行数相同
JavaScript
此工具帮助管理和运行JavaScript代码:
- 编辑JavaScript代码。
脚本可以包含WebEngine可以解析的任何合法元素(ECMAScript 6)。
- 运行脚本。
它的结果显示在右边的面板中。并且它也会影响右边面板中的网页。
- 保存脚本为左边面板中代码树的一个结点。
JShell(Java交互编程工具)
JShell是JDK包含的工具之一:
- JShell提供交互执行"snippets"的能力,即"读取-执行-输出"循环 (REPL)。
- "Snippet"是Java编程语言的单个表达式、语句、或声明的代码:
- 语句结尾必须有分号,而表达式不需要。
- 可以定义变量和方法、然后调用它们。
- 外部Java类应当可访问:
- JShell取系统环境中CLASSPATH。
- 其它Jar文件或路径可以附加在CLASSPATH后面。
- 除了基本类,在调用多数Java类之前需要把它们导入进来。
- JShell可以用于科学计算、和调试Java代码。
此工具帮助图形化运行JShell:
- 输入若干snippet,然后点击 "开始"按钮以执行它们:
- Snippets被逐个计算。
- Snippets的结果会影响后续的snippets,即如"一个运行环境"。
- 所有已执行过的snippets的属性被显示在一张表中。
- 点击按钮"删除"或"清除"以把一些或全部snippets从当前环境中移除出去。
- 点击按钮"重置"以清零JShell,环境将变为空白。
- 按下"CTRL+1"可以弹出代码的完成建议列表。
- 若已添加了MyBox类路径,则可以引用MyBox的所有方法。
JEXL(Java表达式语言)
JEXL(Java表达式语言)是一个库文件,以变量和脚本来动态生成值:
- JEXL与Java的语法有所不同,它更像是javascript。
- 在运行表达式/脚本之前,其中所有变量应当在JexlContext中有值。
- 创建Java类的实例为本地变量以引用它们。当用“new”时注意写全包名。
- JEXL可用于科学计算和数据处理。
此工具帮助图形化运行JEXL:
- 输入JEXL表达式或脚本。
注意:用单引号而不是双引号来围住字符串。
- 按以下格式输入Java代码,以设置JexlContext:
jexlContext.set("name", value);
例如,设置以下语句以在表达式/脚本中使用Math.PI:
jexlContext.set("Math", Math.class);
- 输入JEXL脚本的参数(如果有)。以逗号分隔。
- 点击按钮“开始”以计算表达式/脚本。
- MyBox在JShell环境下自动执行以下步骤:
- 把MyBox的库路径加到CLASSPATH。
- 导入必要的JEXL包。
- 运行JexlContext代码。
- 带上参数(如果有)计算表达式/脚本。
- 若所有变量和参数都有合法的值,则结果显示在右边面板中。
数学函数
此工具帮助管理和计算数学函数:
- 定义函数:
- 给出函数的名字。
- 列出函数的变量名,以英文逗号分割。变量名应符合JavaScript要求:
- 可以包含字母、数字、下划线、和unicode(如中文)
- 不能以数字开头。
- 定义函数表达式为一段JavaScript代码:
- 此脚本可以包含Nashorn可以解析的任何合法元素(ECMAScript 5.1)。
- 它应当最终是一个数字。
- 它可以引用给出的变量,但是不要申明它们。
- 定义函数的定义域为一段JavaScript代码:
- 空白表示定义域为所有实数。
- 此脚本可以包含Nashorn可以解析的任何合法元素(ECMAScript 5.1)。
- 它应当最终是一个布尔值(真或假)。
- 它可以引用给出的变量,但是不要申明它们。
- 工具计算脚本时,它自动将变量名被映射为变量值,然后开始计算。
- 若定义域脚本不为空,则代入变量值并且检查结果。
若为真,则继续计算函数表达式的脚本。否则跳过此组变量值。
- 给定范围、间隔、和小数位数,可以生成函数的数据集。
- 对于一元函数,可以显示函数的XY图, 包括散点图和线图。
- 对于二元函数,可以显示函数的XYZ图, 包括三维散点图和曲面图。
地理编码
地理代码应当:
1)从属于一个已存在的地理代码。
2)级别应当低于它的祖先。
3)有中文名或者英文名。
以下方式之一可以确定一个地址:
1)数据标识。这是精确匹配。
2)级别+祖先+中文名或英文名或任一别名。这是精确匹配。
3)级别+中文名或英文名或任一别名。这是模糊匹配,可能有同级重名导致匹配错误的情况。
匹配名字或者别名时,不区分大小写。
新地理代码的"数据标识"由MyBox自动赋值。
地图选项
GCJ-02坐标是经过加密的数据,与真实位置有偏差。
CGCS2000坐标是真实位置,近似于WGS-84(GPS)坐标。
天地图接受CGCS2000坐标,并把它们显示为无偏差的正确位置。
当在天地图上显示其它坐标时,MyBox把它们转换为CGCS2000以显示正确位置。
高德地图接受GCJ-02坐标,并把它们显示为无偏差的正确位置。
当在高德地图上显示其它坐标时,MyBox把它们转换为GCJ-02以显示正确位置。
转换坐标
CGCS2000坐标是真实位置,近似于WGS-84(GPS)坐标。
GCJ-02坐标是经过加密的数据,与真实位置有偏差。
BD-09坐标和MapBar 坐标基于GCJ-02加密,与真实位置有偏差。
媒体工具
播放视频/音频
此媒体播放器基于javafx:
- 支持的容器类型:
AIFF, HLS, MP4, MP3, WAV
- 支持的编码类型:
AAC, MP3, PCM, H.264/AVC, H.265/HEVC
- 支持的协议:
FILE, HTTP, HTTPS, JAR, HLS
FFmpeg
当你的环境中已安装了FFmpeg此功能才可用。
FFmpeg选项
此功能需要你的环境下已安装FFmpeg。
多数播放器支持:混合器"mp4"、视频解码器 "H.264"、音频解码器 "AAC"。
注意:"CRF"和"编码预调"只对x264, x265和libvpx有效。
当功能失败时,改变选项再试一试:
- 按照你的硬件情况选择支持的更好的视频解码器和音频解码器:
- 当有NVIDIA时,选择"h264_nvenc"作为视频编码器,以利用硬件加速。
- 一般来说,mac的视频编码器是"VideoToolBox"。
- 选择选项以获得适应于你的计算机的设置,考虑以下因素:
- 编码器应该足够快以保证不掉帧。
- 消耗有限的系统资源,以留给其它应用足够的CPU和内存。
- 生成的文件的质量和大小是可忍受的。
- 或许旧版ffmpeg更适合旧计算机。在我的电脑上:
- 2019年的ffmpeg可以平滑运行,
- 2023年的ffmpeg不接受"h264_nvenc"的设置,并且总是使系统冻结或死机。
-ss 0:1:30 设置开始时间
-sseof 0:5:00 相对于结尾设置开始时间
-to 0:10:15 设置结束时间
-t 0:0:20 持续时间(秒)
-aq quality 音频质量(与编码器有关)
-ac 2 设置音频通道: 1是单声道, 2是立体声
-title string 设置标体
-author string 设置作者
-copyright string 设置版权
FFmpeg: 录屏
- 当没有NVIDIA并且CPU不那么强时,
- 选择"libx264rgb"作为视频编码器,以跳过从RGB到yuv444p的转换。
- 选择较快的编码预调。
- 录制之后,利用视频转换工具以编码器“libx264”将生成的RGB视频转换为yuv444p。
- 当检测不到声音输入设备时,检查它是否被禁用了。(Win系统缺省会这样做)
延迟:当点击按钮“开始”时,等待这个时间长度之后才开始录屏。
时长:从开始录屏以后,等待这个时间长度之后结束录屏。
用户可以点击按钮"结束"以立即停止录屏。
当选择“喵”时,笨笨在录屏开始会喵一声,乖乖在录屏结束时会喵一声。
恒定质量模式因子(CRF)
恒定质量模式因子(CRF)是x264, x265和libvpx编码的缺省质量(码率控制)设置。
较低的值产生更好的质量但是文件较大。零意味着无损和大文件。
较高的值意味着更多的压缩和质量下降。
对于x264,正常值为18到28,缺省值为23。17或18在视觉上近似于无损了。
对于x265,缺省值为28。
对于libvpx,1080p HD视频建议值为31。
X264
"预调"是选项集,为压缩率提供特定编码速度。
较慢的预调提供更好的质量,但是占用更多CPU。
较快的预调意味着更低的质量,占用较少的CPU。
游戏:消消乐
当超过3个相同的棋子连成垂直线或者水平线,则这条线可以被消除。
当一个棋子被消除时,它上部的所有棋子将移下来,顶部位置将用随机棋子填充。
分别点击相邻的两个棋子以试图交换它们的位置。若交换后不能消除任何线,则交换失败。
按钮“帮我”可以为你找到一个有效的交换(如果有)。
游戏:挖雷
目标:打开所有非地雷的格子,一旦打开地雷就失败。
规则:
1)游戏开始时,所有格子都是“未打开”状态。
2)首次点击格子时,开始计时。
3)计数:已打开的格子数 / 非地雷的格子总数
4)左键点击格子,若是格子状态为“已打开”则没有任何影响,否则:
- 若是地雷,则游戏失败。
- 若不是地雷,则改变这个格子状态为“已打开”。
- 若打开的格子周围有地雷,则在格子里显示周围地雷的个数
- 若打开的格子周围没有地雷,则显示为空白,并且自动打开周围的格子;迭代这个过程。
5)右键点击格子,若是格子状态为“已打开”则没有任何影响,否则:
- 若格子没有标记,则标记它为“地雷”。
- 若格子标记是“地雷”,则标记它为“可疑”。
- 若格子标记是“可疑”,则去除标记。
- 右键点击只起到标记的作用,不会触雷或打开格子。
6)双击格子,则:
- 若是格子状态为“未打开”,则打开这个格子。
- 打开其周围所有无标记或标记不为“地雷”的格子。
- 只有当你确信格子周围的地雷都已被正确标记时再双击格子。
7)当你不幸触雷时:
- 点击按钮“撤销”,可以假装刚才没有触雷,继续计分计数。
- 点击按钮“重玩”,可以重新开始刚才那一局,重新计分计数。
- 点击按钮“新一局”,可以开始不同的一局。
8)点击按钮“帮我”以偷看所有地雷,点击按钮“撤销”以继续玩。
其它
表格
选择一些以处理,或者不选任何以处理表中所有:
- 选择数据行:
- 按住SHIFT键、并点击数据行,以选择多行的范围。
- 按住CTRL键、并点击数据行,以一行一行地选择多行。
- 点击行开头的复选框。
- 编辑数据:
- 可编辑列的题头文字为蓝色(可编辑的主键仍为红色)。
- 点击可编辑的单元,则它的输入框会被显示出来。
- 当可编辑单元失去焦点时,它的值将被检查、非法值将被拒绝。
- 要显示/隐藏列,点击表格头行右边的按钮"+"。
此操作不影响数据。
- 要调整列的顺序,点击并拖动列头。
此操作不影响数据。
- 要对表行进行排序:
- 点击列头以按此列的升序排序。
- 再次点击列头以按此列的降序排序。
- 第三次点击列头以取消此列的排序。
- 按住SHIFT键并点击更多的列头以按多列排序。
此操作只影响表中当前数据。
- 主键的题头文字为红色。自增主键的题头文字为橙色。
播放
逐帧显示:
- 若选择“延迟”,在当前帧结束后,等待指定的时间, 然后显示下一帧。
- 若选择“间隔”,在当前帧开始后,等待指定的时间, 然后显示下一帧。
- 当帧数超过滚动尺寸时,帧编号会在帧选择器中滚动显示。
- 输入帧编号(无需输入完整的帧标题)以跳到那一帧。
管理语言
此工具用于管理MyBox的定制语言:
- 点击按钮“添加”以创建一个新语言。
- 编辑语言的翻译项:
- 选择表中的一行。
- 点击行中的单元:
- 若项目的英文中包含换行符,则弹出编辑窗口以供输入多行。
- 若项目的英文是单行,则显示一个文本输入框以供直接编辑。
- 保持空白以缺省用英语。
- 右键点击单元以选择“复制英语”或“复制中文”。
- 点击按钮“保存”以保存修改。
MyBox快捷键与图标
界面上的控件,如按钮、复选框、图像,可能有快捷键:
- 若焦点在“文本输入”控件中,则以下按键作用于此控件:
Delete/Home/End/PageUp/PageDown/Enter/Ctrl-(c/v/z/y/x)
否则,快捷键作用于界面。
- 把鼠标移到控件上方,它的工具提示(如果有)会弹出并显示快捷键。
- 若焦点不在“文本输入”控件中,组合键的Ctrl/Alt键可省略:
例如,焦点在图像上时,按"c"以复制,按"2"以设置为面板尺寸。
- 选项:禁止省略快捷键的Ctrl/Alt。(以免误操作)。
- 对以下按钮总是禁止省略快捷键的Ctrl/Alt:保存、删除、清除。(以免事故)。
- 对于mac系统,Ctrl键对应Command键。
子窗口
选择此项以使此面板显示为子窗口。
不选此项以使此面板显示为弹出窗口。
下次显示面板时生效。
子窗口:可以被移动和改变大小。
弹出窗口:在点击对象以外时可以被自动关闭。
清除过期数据
过期数据包括:
- 无用的临时文件
- 内部数据引用文件,而文件已不存在,则此内部数据应被删除。
- 内部数据引用内部文件,而数据已不存在,则此内部文件应被删除。
- 无用的临时数据库表
在清除过期数据时,不要用MyBox功能读写文件/数据。