- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想画一个矩形(或更多),打印在纸上以厘米为单位显示矩形。所以
Graphics[{Rectangle[{0, 0}, {19, 28}], Orange, Rectangle[{0, 0}, {1, 1}]}]
将打印为两个矩形,其尺寸为 1 厘米 x 1 厘米(橙色矩形),黑色矩形为 19 x 28 厘米。
看来有些变量很重要:ImageSize
,当然还有AspectRatio
。
我使用了AspectRatio->19/28
和ImageSize
各种设置,例如ImageSize->{19*27,28*27}
但它一直不是很准确。
我将图形导出为 TIFF,然后使用 Windows 照片库打印为整页照片。有人对此有经验吗?必须有一个公式,而不是反复试验。
更新:我尝试了@Szabolcs的建议,并使用了以下代码:
g = Graphics[{White, EdgeForm[Directive[Thick, Black]],
Rectangle[{0, 0}, {18, 28}], Orange, Rectangle[{0, 0}, {10, 10}]}]
final = Show[g, AspectRatio -> Automatic,
PlotRange -> {{-0.5, 18.5}, {-0.5, 28.5}}]
cm = 72/2.54
Export["final.pdf", Show[final, ImageSize -> {19 cm, 29 cm}]]
这很好用。 10x10cm 的橙色矩形是精确测量的 10x10cm
cm 72/2.54 值不是我所期望的,因为我认为 Windows 使用 96dpi 和 Mac 72dpi(从 www 读取)。然而 72 是有效的值。我也一直在玩框架,但后来它变得丑陋。尽管尝试了所有可能的设置,但尚未找到获得正确结果的方法。应该起作用的是在选定的边界内自己创建框架/刻度等,但这不是我想要追求的路径..
最佳答案
g = Graphics[{Rectangle[{0, 0}, {19, 28}], Orange, Rectangle[{0, 0}, {1, 1}]}]
好的,您需要做的第一件事就是设置 x
和 y
方向使用相同的单位,这意味着
Show[g, AspectRatio -> Automatic]
但这已经是默认值了。
您需要做的第二件事是选择绘图区域的大小和范围。让我们将其设置为 21 x 30,并将矩形居中:
plotArea = {{0, 21}, {0, 30}} - {1, 1}
Show[g, AspectRatio -> Automatic, PlotRange -> plotArea]
您需要做的第三件事是关闭添加任何使图形的实际尺寸大于绘图范围的填充/边距:
final = Show[g, AspectRatio -> Automatic, PlotRange -> plotArea, PlotRangePadding -> 0, ImagePadding -> 0]
我相信 ImageMargins
不会产生影响,但如果有影响,也将其设置为 0。
您需要做的最后一件事是将其导出为保留图像尺寸的可打印格式,并设置图像的大小,以便 1 厘米将成为绘图上的 1 个单位。 Mathematica 接受以打印机点为单位的图像尺寸,所以让我们定义一下:
cm = 72/2.54
Export["final.pdf", Show[final, ImageSize -> 21 cm]]
我们希望绘图宽度为 21 厘米,因为它有 21 个单位宽。使用 PDF 作为导出格式,而不是 TIFF。 ImageSize
需要在 Show
内部使用,以解决 Export
的一些问题...
现在在 Adobe Reader 中打开 PDF,打开打印对话框,并确保“页面缩放”设置为“无”!我不知道如何在其他阅读器中执行此操作...还要确保您的身材适合纸张(21 x 30 厘米对于 A4 来说太大了...)
我不会进行测试打印,所以请告诉我这是否适合您:-) 通过这种方式生成的 PDF 的大小正好是 21 x 30 厘米,所以如果出现问题,那一定会发生在打印阶段。
关于graphics - 打印和图形[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6203586/
我想知道如何在 OCaml 中设置文本大小。我尝试了 Graphics.set_text_size,我猜这应该可以解决问题。 但是无论我输入 set_text_size 200 还是 set_text
我想使用mathematica 为我正在写的书绘制图表。我想在mathematica中画一个图,将其保存为图片,然后将其导入到quarkxpress中,最后将其导出为pdf。 我的问题是最好使用哪种格
在顶层加载 Graphics 模块时,我收到一条错误消息“找不到 graphics.cma”。 我使用的是 OS X,而且我很确定我已经正确安装了 OCaml,因为我已经使用了大约一个月了。所以看起来
我知道 DDS 文件的存在,允许在 as/400 上对显示图形进行编程,但是还有其他方法吗? 具体来说,我想要做的是直接操作终端缓冲区,以便能够显示除文本之外的任何其他内容。例如,终端如下所示: 假设
Graphics.Save 与 Graphics.BeginContainer 有何不同? 最佳答案 看看here : The documentation does not differentiate
由于 Gdiplus::Graphics::DrawGraphics(Graphics*, x, y) 不存在,执行此类操作的最佳方法是什么? 例如,创建一个 Graphics 对象,使用各种 Dra
你能看出这有什么问题吗: (define (box d x1 y1 x2 y2) ( (graphics-draw-line d x1 y
我想编写一个 2D 游戏引擎。我遇到的问题(我不使用opengl之类的东西,所以我用cpu渲染)是,我通过graphics.drawImage()只得到7fps;您有任何加快速度的建议或其他替代方案吗
我在某些代码中发现了渲染错误,并找到了解决方法,但我想知道为什么我会得到不同的行为。在旧代码中,背景(有时)会呈现为白色,尽管在调试时 getBackground() 会返回正确的颜色。 旧代码: @
有谁知道是否有办法(也许通过外部API)将图形绘图/转换为多个图形?这个想法是同时保存 PNG 和 PDF(使用 Java IText 库)。 最佳答案 您可以将 Graphics 对象写入(java
我试图了解如何在英特尔芯片组上以 x86 保护模式绘制简单图形。我已经(有点)知道如何使用 VGA 接口(interface)来做到这一点,并且我正在尝试了解如何使用 G35 Express 来做到这
在我的应用程序中,我生成了一个条形码图像,该图像是根据用户使用 OpenFileDialog 上传的文件中的数据生成的。我的目标是允许用户在屏幕上查看条形码数据和图像本身,打印并使他们能够将两者保存为
我是 Java 新手,我只是想得到一些简单的东西,可能类似于 Zelle's graphics对于Python。 最佳答案 Java 类 Graphics和 Graphics2D应该包含 Zelle
如何将 FMX.Graphics.TBitmap 转换为 VCL.Graphics.TBitmap 或 Vcl.Imaging.PngImage.TPngImage? 我的项目中有FMX表单和VCL表
我需要找到用于间距目的的字体大小,发现这很有帮助:https://docs.oracle.com/javase/tutorial/2d/text/measuringtext.html 但是,我不确定如
我有一点奇怪的错误是由一个看似简单的问题引起的。 在我的源代码中,我尝试使用 QQuickPaintedItem 来呈现 QWidget 派生类 (QPushButton) 的整体外观,然后将其绘制到
我正在尝试通过具有以下规范的设备来解决 Android 应用程序崩溃的问题: Device PAP3400DUO 1 Manufacturer — Android version Android 4.
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我有这行代码: mBgTransition = (TransitionDrawable) mSwitchBg.getBackground(); 背景曾经是一个常规的可绘制对象, 但现在是 9 个补丁
当我的应用程序在启动时崩溃时尝试实现自适应图标时出现此错误。 我无法想象为什么会收到此错误,因为在下面错误日志中提到的文件(MainActivity 和 BaseActivity)中,我没有使用Ada
我是一名优秀的程序员,十分优秀!