通过计算纸张/印刷品的尺寸,使印刷品的窗口在光学上居中。

golden-borders的Python项目详细描述


计算完美打印的尺寸

Compute the mat dimensions and the borders of a print so the window is optically centered somewhat based on the golden ratio.

目的

我喜欢打印我的照片。我也太便宜,框他们,但我做“垫”他们。

如果您不知道,通常打印为:

  1. 打印
  2. amat被剪切,mat大于打印,并且有一个窗口,通过该窗口可以看到打印(该窗口可以大于或小于打印)
  3. 印刷品安装在垫子和纸板之间
  4. 窗户(玻璃或塑料)放在垫子的front中(垫子可以吸引人们注意印刷品,但其主要目的是在印刷品和窗户之间留出空间,使它们不会接触)
  5. 所有这些东西都放在镜框里
  6. 框架被粘在墙上了。

所以有时候我会做第1、2、3和6步,有时候是1、3和6步,有时候只是1步。取决于我的感受:)

不管怎样,所以每次我打印东西的时候,我必须决定一个边界。

然后出现了印刷品“下沉”的视觉错觉,需要更宽的底边来补偿。

然后是上边界…我觉得它比边线小的时候很难看。

所以这段代码就是这么做的。计算所有的事情,这样我就不用思考了。

边框大小

我们发现“黄金比例”在很多地方,包括在理论上选择一个席子大小。

为了选择垫子的尺寸,有些人用印刷品的宽度和高度乘以黄金比例。有些人认为它增加了太多的边界。对于风景…这会导致顶部边框小于大小边框。

其他人计算出印刷品的surface,乘以黄金比例,然后用它来计算垫子的尺寸。

就我个人而言,我所做的是使用打印的surface乘以某个因子(主要是黄金比率乘以其平方根)来计算垫子的surface。然后保持曲面不变,计算边界,得到:

  1. 大小相等的上、左、右边框
  2. 底部边框变大以“光学居中”打印

看一个small document I made about this来组织我的思想。

安装

pip install golden-borders

用法

golden-borders接受这些参数:

golden-borders [OPTIONS] PRINT_DIMS

其中PRINT_DIMS是表示mat大小或print大小(默认值=print)的维度对。

OPTIONS可能是:

--units TEXT(默认,mm) :单位。这表示所有输入的默认值,也表示输出的单位。单位可以是mmcmdminft

--mat/--print(默认值:print) :如果mat,那么PRINT_DIMS是垫子的尺寸,否则是打印的尺寸。

--paper TEXT :如果指定,这是纸张的尺寸。假定打印在中心。

--overlap TEXT :窗口与打印的重叠部分。文本可以是单个维度,也可以是一对维度。这个维度表示两边的重叠。(例如,2x3表示每个尺寸为2毫米,顶部/底部为3毫米)

--border TEXT :指定用于顶部、左侧和右侧边框的值。底部边界仍在计算中。

--factor TEXT :这是面积计算的乘法器。可以是一个数字,或者golden来使用黄金比率。默认值是golden

--exp TEXT :这是系数的指数。只是黄金比例的一个方便。默认值是1,除了factor = golden,在这种情况下是1.5

其他

代码使用Black代码样式格式化。

许可证

这是在BSD 3-Clause License下发布的。这基本上意味着:

  • 你可以用它做你想做的事,只要版权声明,条件和免责声明保持不变。
  • 你不能使用版权持有人或贡献者的名字来支持或推广衍生产品。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
windows请帮助获取java。运行程序时发生lang.nullpointerexception   JPA标准中的错误:java。lang.IllegalArgumentException:此JPQLquery中没有名为“:inputMsgId_1_”的参数   java调度一个小程序,从ScheduledExecutorService开始   java点击AVD“创建设备”按钮抛出NullPointerException   缓存Java9WebStart会多次加载jar文件   使用java计算最小二乘   当代理关闭时,java kafka生产者不会抛出异常   我们什么时候以及为什么要在java中进行自定义序列化?   java使用GSON解析包含包含所需字符串的对象的对象数组   java如何使用BOBJ REST API实现分页?   java身份验证失败:用户的凭据已过期。CAS v4。2.   合并排序中的java无限循环?   java jackson xml将pojo子元素转换为字符串   tcp Java ObjectOutputStream重置错误   如何调用。bat文件,并使用java中的ProcessBuilder发送字符串   奇怪的Java数学结果   java如何在Android中禁用最近的活动按钮?   java刷下应用程序崩溃   使用Java收集所有VersionOne资产及其所有属性   Java打印:创建具有最小可接受边距的页面格式