当我改变宽度时,画布的高度会发生变化。
ImageData data = ImageDataFactory.create("C:\\800px-Cubicpoly.png");当我指明:
data.setWidth(100);
data.setHeight(180*2.834646f);事实证明:

当我指明:
data.setWidth(600);
data.setHeight(180*2.834646f);事实证明:

我不碰高度,为什么它变了?
doc.add(new Image(data).setPadding(0).setMargins(0,0,0,0));原始img(800x800):

发布于 2019-04-08 05:51:49
您还没有附加整个代码,但我认为您使用的是默认页面大小(A4)。考虑到A4页面的宽度为595 pt (考虑到边距,它将更少),并且您将图像宽度设置为600 pt,我假设您在处理代码时得到以下日志消息:com.itextpdf.layout.renderer.RootRenderer WARN Element does not fit current area.
这种区域的缺乏是为什么你要以一种意想不到的方式处理你的图像。为了使您确信,请将文档的大小更改为更大的文档(例如,A3),并确保所有内容都按预期的方式处理。
那么,当无法在设置的区域上处理图像时,iText通常会做什么呢?iText 自动标号,它试图占据尽可能多的位置,但是要保持图像的比例。你说过图像的高度在变化,但宽度也是一样的。
https://stackoverflow.com/questions/55559800
复制相似问题