public bool IsLoading { get; }
@property (nonatomic, assign, readonly) BOOL isLoading;
public boolean isLoading()
public:
property bool IsLoading {
bool get();
}
IsLoading # get (CodecsImageInfo)
true if the image is still loading; false, otherwise. The default value is false.
NOTE: This topic is part of RasterCodecs
Async support using the .NET System.ComponentMode.AsyncOperation
model. For .NET async/await
support this type/member is not used. Instead, refer to RasterCodecs Async Operations.
The RasterCodecs class supports getting information on image files asynchronously using the RasterCodecs.GetInformationAsync methods. When calling any of these methods, the caller's thread will not be blocked and the method will return instantly with an instance CodecsImageInfo that is in a loading status (CodecsImageInfo.IsLoading set to true). You should not use the other properties of this object while the object is in loading status.
When the RasterCodecs object finishes getting the information about the file, the various properties of the CodecsImageInfo will be populated with the image file information and the CodecsImageInfo.IsLoading property will be set to false.
It is recommended that you do not poll for the CodecsImageInfo.IsLoading property to determine whether the image information has been collected. Instead, subscribe to the RasterCodecs.GetInformationAsyncCompleted event to get notification on when the GetInformationAsync operation is completed and whether any errors occurred.
The RasterCodecs.GetInformationAsyncCompleted event data will also contain the same object returned from RasterCodecs.GetInformationAsync so you do not have to keep the original object in your application.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
public void GetInformationAsyncCompletedExample()
{
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
Uri uri = new Uri(srcFileName);
RasterCodecs codecs = new RasterCodecs();
// Now get information about the file asynchronously
codecs.GetInformationAsyncCompleted += new EventHandler<CodecsGetInformationAsyncCompletedEventArgs>(GetInformationAsyncCompletedExample_GetInformationAsyncCompleted);
object imageInfoObject = codecs.GetInformationAsync(uri, true, 1, null);
// Notice that the returned imageInfoObject is a CodecsImageInfo with IsLoading set to true at this point
// The IsLoading will be false (and hence, the object will be usable) when the GetInformationAsyncCompleted
// fires.
}
private void GetInformationAsyncCompletedExample_GetInformationAsyncCompleted(object sender, CodecsGetInformationAsyncCompletedEventArgs e)
{
if (e.Cancelled)
{
Debug.WriteLine("User canceled");
}
else if (e.Error != null)
{
Debug.WriteLine("Error: " + e.Error.Message);
}
else
{
// Get the image info
CodecsImageInfo info = e.Info;
Debug.WriteLine("Image info obtainted asynchronously:\n{0}", info.ToString());
info.Dispose();
}
// Unsubscribe to the event and dispose the RasterCodecs object
RasterCodecs codecs = sender as RasterCodecs;
codecs.GetInformationAsyncCompleted -= new EventHandler<CodecsGetInformationAsyncCompletedEventArgs>(GetInformationAsyncCompletedExample_GetInformationAsyncCompleted);
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
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 getInformationAsyncCompletedExample() throws URISyntaxException, IOException {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp");
URI uri = Paths.get(srcFileName).toUri();
RasterCodecs codecs = new RasterCodecs();
// Now get information about the file asynchronously
codecs.addGetInformationAsyncCompletedListener(getInformationAsyncCompletedExampleGetInformationAsyncCompleted);
ILeadStream uriStream = LeadStreamFactory.create(uri);
codecs.getInformationAsync(uriStream, true, 1, null);
assertTrue("Check that URI exists", uri != null);
System.out.println("The URI exists");
uriStream.close();
}
CodecsGetInformationAsyncCompletedListener getInformationAsyncCompletedExampleGetInformationAsyncCompleted = new CodecsGetInformationAsyncCompletedListener() {
@Override
public void onGetInformationAsyncCompleted(CodecsGetInformationAsyncCompletedEvent e) {
if (e.getCancelled()) {
System.out.println("User canceled");
} else if (e.getError() != null) {
System.out.println("Error: " + e.getError().getMessage());
} else {
// Get the image info
CodecsImageInfo info = e.getInfo();
System.out.println("Image info obtainted asynchronously:\n" + info.toString());
}
// Unsubscribe to the event and dispose the RasterCodecs object
RasterCodecs codecs = (RasterCodecs) e.getSource();
codecs.removeGetInformationAsyncCompletedListener(
getInformationAsyncCompletedExampleGetInformationAsyncCompleted);
codecs.dispose();
}
};
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