向报表中添加图像(Visual Studio 报表设计器)

图像是一种包含对存储在报表服务器上、嵌入在报表中或存储在数据库中的图像的引用的报表项。图像可以是报表中显示一次的徽标或图片,也可以是数据行中重复显示的图片。还可以将图像用作某些报表项的背景。您可以从以下来源获取图像:

  • 数据库

  • 外部文件共享区或网站

  • 在本地嵌入到报表中的图像

无法使用已经添加到项目的图像文件。

数据绑定的图像可以由数据库中存储的二进制数据来显示。例如,在产品列表中产品名称旁边显示的图片就属于数据库图像。

外部图像是由指向图像文件的 URL 指定的。外部图像适用于在多个报表或网页间共享的徽标和静态图片。

本地报表图像先嵌入在报表中,然后再被引用。图像数据存储在报表定义中,不作为单独的文件存在。嵌入图像可确保图像始终可用于报表,但嵌入图像不能共享。嵌入图像会增大报表定义文件的大小。嵌入图像时,报表设计器会对该图像进行 MIME 编码,然后以文本形式将其存储在报表定义中。

如何向报表添加嵌入图像

  1. 在图形设计模式下打开客户端报表定义 (.rdlc) 文件。

  2. 从“报表”菜单中,选择**“嵌入图像”**,然后添加要在报表中使用的所有图像。如果“报表”菜单不可用,请在报表设计区域内单击。

  3. 将图像控件从工具箱拖到报表布局。必须使用用于 ReportViewer 报表的图像控件。

  4. 在 Visual Studio 中选择图像,然后打开“属性”窗口。

  5. Source 设置为 Embedded

  6. Value 设置为嵌入在报表定义中的某个图像。可以从下拉列表中选择要使用的图像。

在报表中使用外部图像或数据库图像

若要使用数据库图像,在 MIME 类型为 JPG、PNG 或 BMP 时,可以指定包含图像的数据库字段。如果图像是以二进制对象形式存储的,则必须编写一个表达式,将图像转换为支持的类型。

默认情况下,不支持在 ReportViewer 报表中使用外部图像。若要使用外部图像,必须在代码中设置 EnableExternalImages 属性。根据您的网络配置,您可能还需要跳过代理设置,以允许显示外部图像。您可将下列设置添加到 Web.config 文件中,以跳过本地代理。在修改 Web.config 文件时,务必要指定网络中使用的代理服务器的名称:

<system.net>

<defaultProxy>

<proxy usesystemdefault = "false"

bypassonlocal = "true"

proxyaddress = "http://<代理服务器名称>:80/" />

<defaultProxy>

</system.net>

背景图像

您可以将图像用作表体或矩形、文本框、列表、矩阵或表的背景图像。背景图像与图像具有相同的属性。您还可以指定如何重复图像来填充项的背景。

Note注意

如果为表体定义背景图像,但不为页眉或页脚定义背景图像,HTML 报表将自动在报表的所有三个区域内使用相同的背景图像。如果不想在页眉或页脚中使用背景图像,则必须为这些区域显式定义不同的图像。如果不希望在这些区域中显示任何图像,则可创建一个小的透明图像并将它指定给页眉或页脚,以形成根本没有图像的效果。

若要添加背景图像,请执行以下操作:

  1. 在图形设计模式下打开客户端报表定义 (.rdlc) 文件。

  2. 选择要为其添加背景图像的报表项。

    Note注意

    背景图像仅适用于矩形、文本框、表、矩阵、列表或表体等项。

  3. 在“属性”窗口中,展开 BackgroundImage,然后执行以下操作:

    • 对于 Source,选择 ExternalEmbeddedDatabase

      Note注意

      若要使用项目中的图像,请选择 External

    • 对于 Value,键入或选择一个计算结果为图像来源的表达式。

      如果 Source 属性设置为 External,则表达式的计算结果必须是图像的有效路径。此路径可以是驻留在报表服务器上的图像的静态路径,也可以是基于某个字段的路径。如果图像存储在项目中,则键入该图像在项目中显示的名称。

      如果 Source 属性设置为 Embedded,则表达式的计算结果必须是嵌入到报表中的图像的名称。如果 Source 属性设置为 Database,则表达式的计算结果必须是包含二进制图像数据的字段。

    • 对于 MIMEType,为图像选择适当的 MIME 类型。

      Note注意

      只有将 Source 属性设置为 Database 时,MIMEType 才适用。如果 Source 属性设置为 ExternalEmbedded,则忽略 MIMEType 的值。

对于 BackgroundRepeat,选择 RepeatNoRepeatRepeatXRepeatY

另请参见

概念

向报表中添加矩形、线条和边框(Visual Studio 报表设计器)
为报表创建数据源
向报表中添加数据区域(Visual Studio 报表设计器)
向报表中添加交互性、可见性和导航(Visual Studio 报表设计器)
定义报表布局(Visual Studio 报表设计器)