Initializes a file information process in which you control the input stream.
public void StartFeedGetInformation(
bool totalPages,
int pageNumber
)
Public Sub StartFeedGetInformation( _
ByVal totalPages As Boolean, _
ByVal pageNumber As Integer _
)
- (BOOL)startFeedGetInformation:(BOOL)totalPages pageNumber:(NSInteger)pageNumber error:(NSError **)error
public FeedCallbackThunk startFeedGetInformation(boolean totalPages, int pageNumber)
public:
void StartFeedGetInformation(
bool totalPages,
int pageNumber
)
totalPages
true to query the file for total number of pages; false, otherwise.
pageNumber
1-based index to the page number to query.
You must call the FeedGetInformation method to supply buffered data, and you must call StopFeedGetInformation when the process is complete.
This file information process is useful when receiving transmitted images, such as those on the Internet. It works the same way as the GetInformation method, except that your code supplies the image data. The file information process works as follows:
You create a buffer, and each time you fill it with information, you call the FeedGetInformation method, which sends the data to the file information process just as if the data were being read from a file on disk.
If the FeedGetInformation returns true, this means the frameworks does not have enough data to get the information required; you must read more data and call the FeedGetInformation again. When FeedGetInformation returns false, the framework has gathered enough data and you can break out of the loop.
At any time after calling StartFeedGetInformation, you can call CancelFeedGetInformation to gracefully abort the feed operation. This allows you to end the feed process without throwing an exception.
This method cannot be used in combination with StartRedirecting.
Specifying true for totalPages can cause the process to be slow for files with large number of pages.
This example will use feed information to get information about an image from an URL
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
using LeadtoolsExamples.Common;
public void FeedGetInformationExample()
{
RasterCodecs codecs = new RasterCodecs();
string url = @"https://www.leadtools.com/images/page_graphics/leadlogo.png";
// Create a WebRequest for the URL
WebRequest request = WebRequest.Create(url);
request.Proxy.Credentials = CredentialCache.DefaultCredentials;
// reduce the timeout to 20 sec
request.Timeout = 20000;
WebResponse response = request.GetResponse();
try
{
Stream strm = response.GetResponseStream();
// Read chunks from the stream and feed load to the image
codecs.StartFeedGetInformation(true, 1);
const int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
bool more;
do
{
System.Windows.Forms.Application.DoEvents();
int read = strm.Read(buffer, 0, bufferSize);
Console.WriteLine("Downloading {0} bytes", read);
if (read > 0)
more = codecs.FeedGetInformation(buffer, 0, read);
else
{
// no more image data in the stream
more = false;
}
}
while (more);
}
finally
{
response.Close();
}
CodecsImageInfo info = codecs.StopFeedGetInformation();
// Clean up
codecs.Dispose();
// Show the information
Console.WriteLine(info.ToString());
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing
Imports Leadtools.Svg
Public Sub FeedGetInformationExample()
Dim codecs As New RasterCodecs()
Dim url As String = "https://www.leadtools.com/images/web-header.jpg"
' Create a WebRequest for the URL
Dim request As WebRequest = WebRequest.Create(url)
request.Proxy.Credentials = CredentialCache.DefaultCredentials
' reduce the timeout to 20 sec
request.Timeout = 20000
Dim response As WebResponse = request.GetResponse()
Try
Dim strm As Stream = response.GetResponseStream()
' Read chunks from the stream and feed load to the image
codecs.StartFeedGetInformation(True, 1)
Const bufferSize As Integer = 1024
Dim buffer(bufferSize - 1) As Byte
Dim more As Boolean
Do
System.Windows.Forms.Application.DoEvents()
Dim read As Integer = strm.Read(buffer, 0, bufferSize)
Console.WriteLine("Downloading {0} bytes", read)
If (read > 0) Then
more = codecs.FeedGetInformation(buffer, 0, read)
Else
' no more image data in the stream
more = False
End If
Loop While more
Finally
response.Close()
End Try
Dim info As CodecsImageInfo = codecs.StopFeedGetInformation()
' Clean up
codecs.Dispose()
' Show the information
Console.WriteLine(info.ToString())
End Sub
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document