gpt4 book ai didi

ruby-on-rails - 为什么 Prawn 会自动调整我的图像大小?

转载 作者:行者123 更新时间:2023-12-04 05:47:56 25 4
gpt4 key购买 nike

当我尝试使用 Prawn 插入图像(72dpi 的 PNG)时,如下所示:

image "#{Rails.root}/public/images/pdf/logo.png"

Prawn 插入图像,但将其放大了大约 30%,这使得它变得模糊(并且更大)。我在文件中没有任何其他内容,并且 PDF 初始化是相当标准的:
super(:page_layout => :portrait,
:left_margin => 0.5.in,
:right_margin => 0.5.in,
:top_margin => 1.in,
:bottom_margin => 0.5.in)

根据文档,Prawn 应该在不做任何修改的情况下将图片插入到文档中。为什么会发生此图像大小调整?

笔记:
我注意到边界框也比它们应该的大(与我的图像相同)。

最佳答案

您可以尝试传递图像实际的宽度和高度,看看是否有帮助

Prawn::图片

Public Instance Methods image(file, options={}) click to toggle source



将文件名处的图像添加到当前页面。目前仅支持 JPG 和 PNG 文件。

NOTE: Prawn is very slow at rendering PNGs with alpha channels. The workaround for those who don’t mind installing RMagick is to use:



github.com/amberbit/prawn-fast-png

论据:

文件的文件路径或响应 # 的对象

选项:

:在具有图像左上角位置的数组 [x,y]。

:位置 (:left, :center, :right) 或 x 偏移之一

:vposition (:top, :center, :center) 或 y 偏移之一

:高度 图片的高度【图片的实际高度】

:宽度 图片的宽度【图片的实际宽度】

:规模按比例缩放图像的尺寸

:适合 按比例缩放图像的尺寸以适合 [width,height]
Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do     
pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
image pigs, :at => [50,450], :width => 450

dice = "#{Prawn::BASEDIR}/data/images/dice.png"
image dice, :at => [50, 450], :scale => 0.75
end

如果仅提供 :width/:height 之一,则图像将按比例缩放。当两者都提供时,图像将被拉伸(stretch)以适应尺寸而不保持纵横比。

如果 :at 提供,图像将放置在当前页面中,但文本位置不会改变。

如果不是显式文件名,而是将具有读取方法的对象作为文件传递,则可以嵌入来自 IO 对象和类似它们的事物(包括 Tempfiles 和 open-uri 对象)的图像。
  require "open-uri"

Prawn::Document.generate("remote_images.pdf") do
image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
end

此方法返回一个图像信息对象,如果需要,该对象可用于检查图像对象的尺寸。 (另见:Prawn::Images::PNG,Prawn::Images::JPG)

关于ruby-on-rails - 为什么 Prawn 会自动调整我的图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16090388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com