如何:创建缩略图像

缩略图是图像的较小版本。 可以通过调用 Image 对象的 GetThumbnailImage 方法来创建缩略图。

示例

以下示例从 JPG 文件构造 Image 对象。 原始图像的宽度为 640 像素,高度为 479 像素。 该代码创建了一个宽度为 100 像素、高度为 100 像素的缩略图。

下图显示了该缩略图:

Screenshot that shows the output thumbnail.

注意

在此示例中,声明了一个回调方法,但从未使用过。 这支持所有版本的 GDI+。

public bool ThumbnailCallback()
{
    return true;
}

private void GetThumbnail(PaintEventArgs e)
{
    Image.GetThumbnailImageAbort callback =
        new Image.GetThumbnailImageAbort(ThumbnailCallback);
    Image image = new Bitmap(@"c:\FakePhoto.jpg");
    Image pThumbnail = image.GetThumbnailImage(100, 100, callback, new
       IntPtr());
    e.Graphics.DrawImage(
       pThumbnail,
       10,
       10,
       pThumbnail.Width,
       pThumbnail.Height);
}
Public Function ThumbnailCallback() As Boolean 
        Return True 
End Function 

Private Sub GetThumbnail(ByVal e As PaintEventArgs) 

        Dim callback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback) 
        Dim image As Image = New Bitmap("c:\FakePhoto.jpg") 
        Dim pThumbnail As Image = image.GetThumbnailImage(100, 100, callback, New IntPtr()) 
        e.Graphics.DrawImage(pThumbnail, 10, 10, pThumbnail.Width, pThumbnail.Height) 
End Sub 

编译代码

前面的示例专用于 Windows 窗体,它需要 PaintEventArgse,后者是 Paint 事件处理程序的参数。 若要运行该示例,请遵循以下步骤:

  1. 创建新的 Windows 窗体应用程序。

  2. 向窗体添加示例代码。

  3. 为窗体的 Paint 事件创建处理程序

  4. Paint 处理程序中,调用 GetThumbnail 方法并将 e 传递给 PaintEventArgs

  5. 查找要创建缩略图的图像文件。

  6. GetThumbnail 方法中,指定图像的路径和文件名。

  7. 按 F5 运行示例。

    一个 100 x 100 的缩略图随即显示在窗体上。

另请参阅