Technical FAQs
Today’s organizations are inundated with a variety of document and image formats on a regular basis. By integrating comprehensive PDF functionality into their applications, developers can provide the tools to manage those files much more easily. Converting files into PDFs makes them easier to share, modify, and annotate without having to worry about compatibility issues across applications.
Simply converting documents or images into searchable PDF files is easy enough, but in many cases, several files need to be merged into a single document or one large file must be split into multiple documents. Accusoft’s ImageGear SDK gives applications the ability to process PDFs programmatically, allowing users to quickly prepare documents for viewing and collaboration.
How to Merge PDF Files with ImageGear Using C#
ImageGear can merge two multi-page PDF documents into a single document. This is especially useful for organizations that have multiple files associated with the same workflow or account, such as loan applications or medical records. The following steps will walk you through the merge PDF process using ImageGear.NET in C#.
Step 1: Initialize PDF Support
Before getting started, you’ll need to initialize PDF support within ImageGear.NET (if you haven’t done so already during deployment). This initialization will allow your application to load, save, and process PDF files.
After creating a new “Console Application” and adding the required assembly reference and resources, you can use the following code snippet to load and save PDF files.
using System.IO;
using ImageGear.Formats;
using ImageGear.Formats.PDF;
using ImageGear.Evaluation;
namespace MyPDFProject
{
class Program
{
public void Initialize()
{
// Initialize evaluation license.
ImGearEvaluationManager.Initialize();
ImGearEvaluationManager.Mode = ImGearEvaluationMode.Watermark;
// Initialize common formats.
ImGearCommonFormats.Initialize();
// Add support for PDF files.
ImGearFileFormats.Filters.Insert(0, ImGearPDF.CreatePDFFormat());
ImGearPDF.Initialize();
}
public void Terminate()
{
// Dispose of support for PDF files.
ImGearPDF.Terminate();
}
public void LoadAndSave(string fileIn, string fileOut)
{
ImGearPDFDocument igPDFDocument = null;
try
{
// Load the PDF document.
using (FileStream inStream = new FileStream(fileIn, FileMode.Open))
igPDFDocument = (ImGearPDFDocument)ImGearFileFormats.LoadDocument(inStream, 0, (int)ImGearPDFPageRange.ALL_PAGES);
// Save the PDF document to a new file.
ImGearPDFSaveOptions pdfOptions = new ImGearPDFSaveOptions();
using (FileStream outStream = new FileStream(fileOut, FileMode.Create))
ImGearFileFormats.SaveDocument(igPDFDocument, outStream, 0, ImGearSavingModes.OVERWRITE, ImGearSavingFormats.PDF, pdfOptions);
}
finally
{
igPDFDocument?.Dispose();
}
}
static void Main(string[] args)
{
Program myProgram = new Program();
myProgram.Initialize();
myProgram.LoadAndSave(@"C:\PATHTOPDF\FILENAME.pdf", @"C:\PATHTOPDF\NEWNAME.pdf");
myProgram.Terminate();
}
}
}
Step 2: Set the Merge PDF Parameters
You will need to determine what order the documents will be combined in and set the page numeration for the new document.
Step 3: Merge the PDF Documents
Once you’ve identified the files you want to merge and the order they should go in, you can use the “MergePdfDocuments” command to assemble the new PDF file. Here’s what the code snippet looks like in C#:
// Merges two PDF document into a third PDF document.
public void Merge(string fileInFirst, string fileInSecond, string fileOut)
{
// ImageGear uses zero-based page numbers.
const int FIRST_PAGE_INDEX = 0;
ImGearPDFDocument igPDFDocumentFirst = null;
ImGearPDFDocument igPDFDocumentSecond = null;
ImGearPDFDocument igPDFDocumentResult = null;
try
{
// Load the source PDF documents.
using (FileStream inStream = new FileStream(fileInFirst, FileMode.Open))
igPDFDocumentFirst = (ImGearPDFDocument)ImGearFileFormats.LoadDocument(inStream, 0, (int)ImGearPDFPageRange.ALL_PAGES);
using (FileStream inStream = new FileStream(fileInSecond, FileMode.Open))
igPDFDocumentSecond = (ImGearPDFDocument)ImGearFileFormats.LoadDocument(inStream, 0, (int)ImGearPDFPageRange.ALL_PAGES);
// Create the resulting PDF document.
igPDFDocumentResult = new ImGearPDFDocument();
// Copy all pages of first document into resulting PDF document.
for (int pageIndex = FIRST_PAGE_INDEX; pageIndex < igPDFDocumentFirst.Pages.Count; pageIndex++)
igPDFDocumentResult.Pages.Add(igPDFDocumentFirst.Pages[pageIndex].Clone());
// Copy all pages of second document into resulting PDF document.
for (int pageIndex = FIRST_PAGE_INDEX; pageIndex < igPDFDocumentSecond.Pages.Count; pageIndex++)
igPDFDocumentResult.Pages.Add(igPDFDocumentSecond.Pages[pageIndex].Clone());
// Save the resulting PDF document to a new file.
ImGearPDFSaveOptions pdfOptions = new ImGearPDFSaveOptions();
using (FileStream outStream = new FileStream(fileOut, FileMode.Create))
ImGearFileFormats.SaveDocument(igPDFDocumentResult, outStream, 0, ImGearSavingModes.OVERWRITE, ImGearSavingFormats.PDF, pdfOptions);
}
finally
{
igPDFDocumentFirst?.Dispose();
igPDFDocumentSecond?.Dispose();
igPDFDocumentResult?.Dispose();
}
}
static void Main(string[] args)
{
Program myProgram = new Program();
myProgram.Initialize();
myProgram.Merge(@"C:\PATHTOPDF\FIRSTFILENAME.pdf", @"C:\PATHTOPDF\SECONDFILENAME.pdf", @"C:\PATHTOPDF\NEWNAME.pdf");
myProgram.Terminate();
}
After merging your files into a new document, you can begin working with the resulting PDF using ImageGear’s other PDF features:
- Compressing PDF files
- Set PDF security features
- Manage PDF metadata
- Add watermarks to PDF
- Edit PDF content
- Extract text from PDF
How to Split PDF Files with ImageGear Using C#
While the merge PDF command is used to combine multiple documents into a new, single PDF file, the split PDF command saves pages from an existing document as a separate document. A three-page PDF file, for instance, can be broken into three, single-page PDF documents.
Once you’ve initialized PDF support for ImageGear.NET, you can split a PDF document by following a few simple steps:
Step 1: Read the PDF into a System.IO.Stream Object
This allows ImageGear to read the stream using ImGearFileFormats.LoadDocument(FILE NAME) command.
Step 2: Determine PDF Page Count
The ImGearPDFDocument.Pages property provides access to the document’s page array, which can then be used to assemble a new document.
Step 3: Create a New PDF Document
The ImGearPDFDocument object can be used to create an empty PDF document that will serve as the destination file for the split pages.
Step 4: Insert Pages into the New Document
The InsertPages command takes specific pages from the source document (the PDF you’re splitting), and inserts them into the destination document. After the pages are inserted, you can save the new PDF to disk or memory. Keep in mind that the original document will still contain all pages, so splitting it into two documents will require you to create two new documents.
Here is a what splitting a single PDF document into several single-page PDF documents looks like in C#:
public void Split(string fileIn, string directoryOut)
{
// ImageGear uses zero-based page numbers.
const int FIRST_PAGE = 0;
// Ensure output directory exists.
if (!System.IO.Directory.Exists(directoryOut))
Directory.CreateDirectory(directoryOut);
// Load the source PDF document.
using (FileStream inStream = new FileStream(fileIn, FileMode.Open))
{
using (ImGearPDFDocument igPDFDocument = ImGearFileFormats.LoadDocument(inStream, FIRST_PAGE, (int)ImGearPDFPageRange.ALL_PAGES) as ImGearPDFDocument)
{
// Write each page in source PDF document to a separate PDF file.
for (int pageIndex = FIRST_PAGE; pageIndex < igPDFDocument.Pages.Count; pageIndex++)
{
// Construct the output filepath.
string outputFileName = string.Format("{0}_{1}.pdf", Path.GetFileNameWithoutExtension(fileIn), pageIndex + 1);
string outputPath = System.IO.Path.Combine(directoryOut, outputFileName);
// Create a new empty PDF document.
using (ImGearPDFDocument igPDFDocumentResult = new ImGearPDFDocument())
{
// Insert page into new PDF document.
igPDFDocumentResult.InsertPages((int)ImGearPDFPageNumber.BEFORE_FIRST_PAGE, igPDFDocument, pageIndex, 1, ImGearPDFInsertFlags.DEFAULT);
// Save new PDF document to file.
igPDFDocumentResult.Save(outputPath, ImGearSavingFormats.PDF, FIRST_PAGE, FIRST_PAGE, 1, ImGearSavingModes.OVERWRITE);
}
}
}
}
}
static void Main(string[] args)
{
Program myProgram = new Program();
myProgram.Initialize();
myProgram.Split(@"C:\PATHTOPDF\FILENAME.pdf", @"C:\PATHTOPDF\OUTPUTDIRECTORY");
myProgram.Terminate();
}
Enhance Your PDF Capabilities with ImageGear
Accusoft’s ImageGear SDK provides a broad range of document and image processing functions beyond the ability to split and merge PDFs. Whether you need powerful file conversion capabilities, multi-language OCR support, or image cleanup, correction, and transformation functions, ImageGear integrations can enhance your application’s performance and versatility.
Learn more about the ImageGear collection of SDKs and see how they can help you shorten your development cycle and get your innovative products to market faster.
Seventy-six percent of companies surveyed plan to prioritize machine learning (ML) and artificial intelligence (AI) deployments in 2021. Despite increased uptake, however, there is still a great deal of confusion surrounding these advanced concepts. In order to understand how organizations hope to leverage ML and AI in their technology initiatives, it’s helpful to take a step back and examine how they work and how they differ from each other.
What Is Machine Learning?
Machine learning uses statistics-driven algorithms to find patterns in massive amounts of data. These algorithms are designed to improve over time as they process more data to enable more accurate outputs. Machine learning is widely used to produce predictive recommendations — companies such as Google, Netflix, and Facebook collect data about user behaviors and feed it into machine learning algorithms which then produce targeted search results, movie recommendations, or advertisements.
The key to machine learning success is data. The more data available to ML algorithms — and the higher-quality this data — the better they’ll be able to identify patterns in current datasets and apply them to new data sources.
Most machine learning methodologies fall under one of two broad categories:
- Supervised Learning: Developers classify and label data to guide the algorithm’s inputs and outputs to ensure specific patterns are recognized. This method is time and resource intensive because it requires data scientists to capture, control, and curate data sources.
- Unsupervised Learning: This approach provides ML algorithms with unlabeled and unclassified data and allows them to identify patterns based on unique data characteristics. Developers don’t interfere with the learning and pattern recognition process, instead evaluating the outputs for accuracy and modifying code as needed.
Why Does Machine Learning Matter?
Machine learning helps organizations leverage the massive amounts of data they’ve accumulated. This information is drawn from a variety of sources, including disparate forms and documents, data produced through customer transactions and service calls, and the ongoing operational data produced by staff as they interact with IT resources.
Thanks to both the rapid uptake of cloud computing and availability of large-scale data collection and analysis tools, these data volumes are increasing exponentially. As a result, aggregate assessment is now critical — companies need a way to rapidly and reliably derive patterns from available data, and apply these patterns to predictive action.
This is the evolving role of machine learning. By creating, testing, and deploying ML algorithms capable of rapid pattern analysis and application it’s possible for companies to benefit from this continual data influx rather than being constrained by the bounds of traditional data evaluation. To facilitate this process, many next-generation software tools and services are either equipped with built-in ML frameworks or are capable of interfacing with them.
Key Machine Learning Applications
The applications of machine learning are vast, but they tend to produce the best results when paired with existing processes that supplement human efforts or automate low-value, but labor-intensive, functions in the workplace. In effect, it has the potential to do almost anything a human mind can do, given enough time.
Improved Data Capture
Capturing data from internal documents and customer-submitted forms can be cumbersome and time-consuming. It can also lead to wasted time and effort if data is incorrectly entered, duplicated, or accidentally deleted. By pairing machine learning tools with forms processing solutions like Accusoft’s FormSuite for Structured Forms, developers can build applications that identify, collect, and capture key data more efficiently and accurately. For example, a robot process automation (RPA) bot can be set up to receive extracted form data from FormSuite and then populate that information into the appropriate fields within an application. This not only accelerates forms processing workflows, but also greatly reduces the risk of data entry error. Properly implemented, automated data capture can act as a springboard for improved data insight and decision-making thanks to improved accuracy and consistency.
Streamlined Content Creation
By combining machine learning algorithms and data sources with document editing tools, it’s possible to streamline key processes such as the creation of complex, compliance-bound content. One in-practice example is the use of Accusoft’s PrizmDoc Editor within the LegalSifter contract review and creation platform. By pairing its AI technology with PrizmDoc Editor’s document assembly capabilities, LegalSifter was able to quickly locate repetitive clauses and suggest replacements to create an automated contract creation experience for end users.
What Is AI, and How Does It Relate to Machine Learning?
The terms artificial intelligence and machine learning are closely related and often used interchangeably, but they’re not identical.
Artificial intelligence refers to technologies that are capable of performing tasks like photo recognition or data pattern analysis with similar (or better) outcomes than human beings. Machine learning refers to the creation, testing, and refinement of the algorithms needed to support AI tools. In many ways, then, ML functions as a distinct process that helps make AI possible.
As noted by Toward Data Science, it often helps to think of AI, machine learning, and deep learning like a set of concentric rings. The smallest, inner ring is deep learning, which helps inform the middle ring of machine learning by providing layered neural network structures that improve the process of pattern recognition. The final, outside ring is AI, which depends on both deep and machine learning to deliver real-world results.
Artificial intelligence tools can be broken down into two basic types:
- Generalized AI: These tools are capable of solving problems bounded by a clear set of rules. Using the ML algorithms that underpin the larger AI structure, general AI applications can act on stimuli — such as a security alert from an IT network — and respond appropriately by creating and logging reports or looping in human agents.
- Narrow AI: These solutions are designed to solve specific, small-scale tasks. Building on the security example from above, a narrow AI application might see tools responding to specific threat events such as DDoS or ransomware attacks by deploying targeted, defensive responses that close active sessions, capture attack data, and prevent future connections from the same IP address.
In practice, narrow AI tools can outperform their human counterparts in completing specific tasks, but are unable to translate this expertise into applicable action at scale. General tools come closer to mimicking human intelligence but are still a long way from replicating the depth and breadth of human thinking.
Limitations of AI
Much has been made about the potential of AI technologies to take the place of human staff, leading to a generalized sense of worry about the future of these tools at scale. Recent research, however, found that substantial confusion remains around not only the deployment of AI but the definition itself. In fact, one study found that 40 percent of AI startups in Europe were not actually using AI. In some cases, increasing market interest in AI tools encouraged the use of this term to help startups capture attention, in much the same way that rapid cloud adoption spurred the creation of a host of “cloud” companies that offered nothing of the sort.
Uncertainty around AI itself, however, also plays a role in this disconnect. Given the massive potential of AI to help companies solve both specific and generalized problems, the term can be applied in almost any context and made to fit almost any description.
Unlocking the Future
After spending many years confined to research projects and future-focused technology articles, both machine learning and artificial intelligence are making their way into the applications and software companies are deploying every day. As developers look ahead to building the next generation of technology solutions, they must not only think about how they can better leverage ML and AI principles, but also how to implement features that take advantage of them.
Accusoft’s collection of versatile SDK and API integrations deliver powerful viewing and image processing capabilities that help applications streamline workflows and enhance productivity. To learn more about how Accusoft can help you enhance the workflow in your machine learning or artificial intelligence projects, contact us today.
Few industries have been impacted by the proliferation of digital technology than the financial services sector. In fact, it’s one of the few markets where the average consumer can easily observe how much has changed in a short amount of time. Many people haven’t even set foot inside a bank for years, and millions pay all of their bills exclusively online. According to the US Federal Reserve, personal checks declined from 58.8 percent of non-cash payments in 2000 to just 8.3 percent in 2018. Both of these trends are driven by the increased convenience of FinTech applications, and the same changes have impacted the lending industry, as well.
What Is FinTech Lending?
Since the 2008 financial crisis, a new breed of lenders has become a disruptive force in the banking sector. Unburdened by the cumbersome infrastructure that makes large financial institutions slow to adapt to change, FinTech lenders utilize the latest technology to deliver a more responsive, personalized, and transparent lending experience to consumers. These innovative startups have combined easy-to-access digital platforms with sophisticated data analytics to streamline the lending process and deliver funds to borrowers much faster than could be accomplished with traditional loans.
Borrowers, it seems, have been quick to embrace this alternative source of lending. From 2013 to 2018, FinTech companies increased their share of the personal loan market from a mere five percent to thirty-eight percent. That rapid growth is a result of increased penetration into the digital marketplace and more flexible credit scoring that allows FinTech lenders to assess risk and approve loans more effectively.
In the early days of the industry, most FinTech lenders still relied upon traditional FICO credit scores when evaluating a borrower’s potential to repay loans. Over time, however, they have used a variety of alternative scoring mechanisms driven by data collection algorithms to create a more dynamic picture of a borrower’s credit status. Between 2007 and 2015, for instance, the correlation between FICO scores and the rating system used by one prominent peer-to-peer FinTech lender declined from 80 percent to just 35 percent.
The “Tech” Behind FinTech Lending
The loan adjustment algorithms working under the hood of FinTech lending applications are incredibly sophisticated, but they need good data for fast, accurate underwriting. While traditional lenders focus on predictable data points like income, debt payments, and assets, the digital nature of FinTech applications allows them to go much more granular. By gathering insights from other customer applications, internet searches, and even geolocation data, they can create a more complex profile of each customer, which then allows them to structure loans and other financial products that meet their specific needs while also protecting the lender to unnecessary risk.
This new approach to lending has helped FinTech applications to cut down the “time to yes” on credit decisions from the three to five weeks commonly seen from traditional banks to as little as five minutes. Even more critically, they can use digital funding to deliver cash to borrowers in less than 24 hours compared to the typical lender’s three month response time.
Improving “Time to Yes” on Credit Decisions
In addition to deploying more sophisticated risk adjustment algorithms to assess credit worthiness, there are some additional ways that FinTech lenders can continue to improve performance and efficiency.
Embrace Paperless Automation
The first and most obvious step they can take is by eliminating paper forms from the application process whenever possible. One of the reasons why banks and other financial services organizations move so slowly is due to the time it takes to fill out, fax, scan, and review physical documents. Not only are these forms inefficient, but they’re also prone to clerical errors when an applicant’s data needs to be transferred from the form into a database or application. By digitizing the application process wherever possible and automating data capture, FinTech lenders can significantly cut down on processing times and eliminate the human errors that so often create additional delays.
Increase Document Management Versatility
Shifting to an emphasis on digital documentation brings another complication along with it because there are a variety of file formats used throughout the financial industry. Some documents need to be in a specific format for compliance purposes, and if customers are submitting files through a FinTech lending platform, they could be using multiple different file types.
In order to streamline processing, FinTech applications need to be able to easily convert a wide range of file types into a few key formats that work best with their processing workflows. That means FinTech developers will need to integrate powerful document conversion tools into their software to ensure that they can avoid any troublesome incompatibility issues during loan processing.
Enhance Data Capture Capabilities
Although FinTech lenders are developing incredible algorithms capable of analyzing massive amounts of data to shorten credit application times, they are still dependent upon the information made available to them. That means developers need to implement data capture tools that can pull key data from a variety of sources and compile it into an easily searchable format.
Optical character recognition (OCR) engines can quickly extract information for any number of documents and images to create searchable files that FinTech software can quickly process as needed. For hand-printed documents scanned into digital format, intelligent character recognition (ICR) tools can be deployed just as effectively, allowing FinTech lenders to gather data from a wide variety of sources.
Expand FinTech Lending Capabilities with APIs and SDKs
One of the easiest ways for FinTech developers to quickly build lending-friendly features into their applications is to leverage API and SDK integrations. Rather than building new functionality from scratch, they can instead take advantage of existing, proven solutions to enhance their applications. This allows them to keep the focus on the core differentiators of their FinTech lending platform, allowing them to process and approve loans faster while minimizing potential risk.
Accusoft’s collection of API and SDK integrations provide powerful viewing and processing capabilities when it comes to FinTech workflows. Whether you need to convert multiple file types quickly, clean up document images, or perform OCR data capture, Accusoft has the solution to unlocking your FinTech lending application’s potential.
Accusoft’s ImageGear is a powerful image processing SDK integration that allows software developers to give their applications the ability to open, convert, and transform multiple image file formats. Given the complexity of image processing tasks, turning to a comprehensive SDK can save significant time and headaches in the software development cycle. Rather than building image manipulation features from scratch or seeking out multiple open source solutions for every processing need, developers can use ImageGear to add image processing essentials and whatever capabilities they need to keep their project on schedule.
8 Essential ImageGear Features
ImageGear delivers several noteworthy capabilities that are worth highlighting for developers looking to add image processing features to their applications. Here are a few of the most essential:
1. General Use Tools
Although ImageGear delivers a wide range of advanced image processing capabilities, it also provides a variety of conventional tools for image modification. Developers often incorporate these features into their application’s viewing interface, which allows users to easily alter images as needed. Some of the more commonly used tools include:
- Image cropping
- Image rotation and resizing
- Thumbnail creation
- Sharpening/smoothing filters
- Contrast adjustment/gamma correction
- Red eye removal
2. Region of Interest Selection
Using ImageGear’s region of interest (ROI) features, it’s possible to create a freely shaped image area that can be targeted for additional processing. The ROI can be an ellipse or polygon shape, or it can be drawn freehand. Marking a specified area creates a 1-bit mask image to indicate which pixels will be affected by image processing algorithms.
3. Erosion/Dilation
ImageGear deploys mathematical morphology operations to help clean up and enhance binary images. Erosion works by removing layers of pixels from the inner and outer boundaries of defined regions in the foreground. This causes the white pixels in the foreground to shrink, which has the effect of making the area darker. Dilation performs the opposite function, increasing the boundaries of those same pixels to make the image region lighter. These functions are typically deployed in combination to remove objects or smooth borders on black and white or grayscale images.
4. Edge Detection
A key image processing capability, edge detection is used in pattern recognition, image matching, and 3D vision applications to identify the boundaries of objects within images. This function is particularly useful for image segmentation and data extraction tasks.
5. Speckle Removal
Speckling is the distinctive “salt and pepper” noise commonly found in many scanned or low resolution images. ImageGear has two different ways of removing speckles from an image to reduce noise and improve the overall quality without blurring details.
- Despeckle Method: Removes color noise from a 1-bit image by finding the average color value within the ROI and replacing the other pixels in the speckle area with this value.
- GeomDespeckle Method: Uses the Crimmins complementary hulling algorithm, which sends the image through a geometric filter that reduces speckle noise without compromising the edges of the original image.
6. ImageClean
The ImageClean function is a multi-faceted cleanup tool that uses several classes to perform common image processing tasks. Some of those tasks include:
- Inverting white text or auto-inverting black text on a white background.
- Auto-orientation or auto-cropping of an image.
- Cleaning borders.
- Dotted or solid line removal.
- Punch hold removal.
7. Background Correction
ImageGear can identify the best-fit plane for an image and then adjust the image luminance tilt accordingly, either by increasing or decreasing the image plane. This method is particularly effective at correcting illumination gradients in low-quality digitized images.
8. Image Effects
As part of its image processing capabilities, ImageGear provides a wide array of image effects that can be used to transform or modify image files. Developers can easily integrate these tools into their application’s viewer to allow end users to easily alter images. Some of these image effects include:
- Aging Effect: This effect adjusts image saturation and contrast to make an image appear worn and old. Noise and random vertical lines are also added to enhance the effect.
- Boost Effect: Often used to make older or faded images look new and more vibrant, this effect increases saturation, brightness, and contrast.
- Drop Shadow: This method adds a drop shadow to an image, which is often useful for setting an image apart from a background when combining visual elements.
- Gaussian Blur: Typically used to smooth out composited images, this effect blurs pixels to soften images and make them appear slightly (or extremely) out of focus.
- High Density Range Effect: This effect increases the contrast of shadow, highlight, and midtone areas separately, which mimics the human eye’s ability to adjust to lighting conditions rather than applying a uniform contrast adjustment.
- Lens Flare Effect: Commonly used to make images appear more dramatic or realistic, this method simulates a bright light reflecting within the camera lens.
- Solarize Effect: This effect sets a light threshold and then inverts the colors of any pixels that exceed that value. When applied to an image, it mimics the look of photographic film that was exposed to too much light during development.
- Toy Camera Effect: Often used to liven up an image, this effect emulates the distortions and imperfections created by using a low-quality camera lens in poor shooting conditions.
- Sketch Effect: By blending the original image with a texture image, this effect can make the image look like it was sketched with a pencil or charcoal.
- Artistic Effects: This feature includes a series of effects that make images look as if they were hand painted. Two of these methods, the Pointillist and Splatter methods, use randomly generated pixel elements that cause the resulting image to be different each time the method is applied.
Expand Your Image Processing Capabilities with ImageGear
The features listed above only scratch the surface of ImageGear’s capabilities. In addition to essential image processing tools, the SDK also allows developers to add document features like annotation, conversion, compression, and full-page optical character recognition (OCR). With support for dozens of file formats, ImageGear gives software teams the tools they need to expand their application’s capabilities without wasting months of valuable development time. To get a first-hand look at what ImageGear can do for your .NET application, download a trial today.