Load a bitmap (BMP) from a remote URL in C#
To load a BMP image from a remote URL, use the CreateGdPictureImageFromHTTP method from the GdPictureImaging class.
This method returns a non-zero image identifier (imageID) on success. If it fails, it returns 0 — use GetStat() and GetLastTransferError() to diagnose failures.
It supports two common scenarios:
When transferring data to or from remote servers, you can optionally use the
SetHttpTransferBufferSizemethod to control transfer buffer size.
Loading a bitmap image from a public server
Use this overload: CreateGdPictureImageFromHTTP(string Host, string Path, int HTTPPort).
Remember to release the image resource once you stop using it. Use the ReleaseGdPictureImage method.
using GdPicture14;using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromHTTP( "https://pspdfkit.com", "/downloads/load-a-file/source.bmp", 443);
if (imageID == 0){ Console.WriteLine($"HTTP load failed: {gdpictureImaging.GetStat()}"); Console.WriteLine($"Transfer error: {gdpictureImaging.GetLastTransferError()}"); return;}
GdPictureStatus status = gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png");if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAsPNG failed: {status}");}
gdpictureImaging.ReleaseGdPictureImage(imageID);Imports GdPicture14
Using gdpictureImaging As New GdPictureImaging() Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromHTTP( "https://pspdfkit.com", "/downloads/load-a-file/source.bmp", 443)
If imageID = 0 Then Console.WriteLine($"HTTP load failed: {gdpictureImaging.GetStat()}") Console.WriteLine($"Transfer error: {gdpictureImaging.GetLastTransferError()}") Return End If
Dim status As GdPictureStatus = gdpictureImaging.SaveAsPNG(imageID, "C:\temp\output.png") If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAsPNG failed: {status}") End If
gdpictureImaging.ReleaseGdPictureImage(imageID)End UsingLoading a bitmap image from a protected server
Use this overload: CreateGdPictureImageFromHTTP(string Uri, string Login, string Password).
Remember to release the image resource once you stop using it. Use the ReleaseGdPictureImage method.
using GdPicture14;using System;
using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromHTTP( "https://pspdfkit.com/downloads/load-a-file/source.bmp", "admin", "password");
if (imageID == 0){ Console.WriteLine($"HTTP load failed: {gdpictureImaging.GetStat()}"); Console.WriteLine($"Transfer error: {gdpictureImaging.GetLastTransferError()}"); return;}
GdPictureStatus status = gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png");if (status != GdPictureStatus.OK){ Console.WriteLine($"SaveAsPNG failed: {status}");}
gdpictureImaging.ReleaseGdPictureImage(imageID);Imports GdPicture14
Using gdpictureImaging As New GdPictureImaging() Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromHTTP( "https://pspdfkit.com/downloads/load-a-file/source.bmp", "admin", "password")
If imageID = 0 Then Console.WriteLine($"HTTP load failed: {gdpictureImaging.GetStat()}") Console.WriteLine($"Transfer error: {gdpictureImaging.GetLastTransferError()}") Return End If
Dim status As GdPictureStatus = gdpictureImaging.SaveAsPNG(imageID, "C:\temp\output.png") If status <> GdPictureStatus.OK Then Console.WriteLine($"SaveAsPNG failed: {status}") End If
gdpictureImaging.ReleaseGdPictureImage(imageID)End Using