←Select platform

FeedGetInformation(IntPtr,long) Method

Summary
Supplies unmanaged memory image data to the file information process from a buffer that you provide.
Syntax
C#
Objective-C
C++/CLI
Python
public bool FeedGetInformation( 
   IntPtr data, 
   long length 
) 
- (LTCodecsFeedGetInformationStatus)feedGetInformation:(const unsigned char *)buffer length:(NSUInteger)length error:(NSError **)error 
- (LTCodecsFeedGetInformationStatus)feedGetInformationData:(NSData*)data length:(NSUInteger)length error:(NSError**)error 
public: 
bool FeedGetInformation(  
   IntPtr data, 
   int64 length 
)  
def FeedGetInformation(self,data,length): 

Parameters

data
The image file unmanaged memory data.

length
Total size (in bytes) of the image data.

Return Value

true if the get information process requires more data; false, otherwise. When this method returns false, you can break out of the loop and call StopFeedGetInformation to obtain the CodecsImageInfo object containing information about the image file.

Remarks

Use this method with the StartFeedGetInformation and StopFeedGetInformation methods.

For a description of how the methods relate to each other, refer to StartFeedGetInformation.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
 
 
public void FeedGetInformationExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   codecs.CancelFeedGetInformation(); 
 
   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); 
         Debug.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 
   Debug.WriteLine(info.ToString()); 
} 
 
import java.io.*; 
import java.net.*; 
import java.nio.file.Paths; 
import java.util.*; 
import java.time.Instant; 
import java.time.Duration; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.codecs.RasterCodecs.FeedCallbackThunk; 
import leadtools.drawing.internal.*; 
import leadtools.imageprocessing.*; 
import leadtools.imageprocessing.color.ChangeIntensityCommand; 
import leadtools.svg.*; 
 
 
public void feedGetInformationExample() throws IOException { 
   RasterCodecs codecs = new RasterCodecs(); 
   URL url = new URL("https://www.leadtools.com/images/page_graphics/leadlogo.png"); 
 
   // Create a WebRequest for the URL 
   HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
   con.setRequestMethod("GET"); 
   con.setDefaultUseCaches(true); 
 
   // reduce the timeout to 20sec 
   con.setConnectTimeout(20000); 
   con.setReadTimeout(20000); 
   con.getResponseCode(); 
 
   FeedCallbackThunk feedLoad; 
   try { 
      InputStream inputStream = con.getInputStream(); 
 
      // Read chunks from the stream and feed load to the image 
      feedLoad = codecs.startFeedGetInformation(true, 1); 
 
      final int bufferSize = 1024; 
      byte[] buffer = new byte[bufferSize]; 
 
      boolean more; 
 
      do { 
         int read = inputStream.read(buffer, 0, bufferSize); 
         System.out.println("Downloading " + read + " bytes"); 
         if (read > 0) 
            more = feedLoad.feedGetInformation(buffer, 0, read); 
         else { 
            // no more image data in the stream 
            more = false; 
         } 
      } while (more); 
   } finally { 
      con.disconnect(); 
   } 
 
   CodecsImageInfo info = feedLoad.stopFeedGetInformation(); 
 
   // Clean up 
   codecs.dispose(); 
 
   // Show the information 
   assertTrue("The URL is invalid (null)", url != null); 
   System.out.println(info.toString()); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.