LEADTOOLS Support
Document
Document SDK Questions
poor image quality when saving scanned pages as bitonal TIFF
This topic and its replies were posted before the current version of LEADTOOLS was released and may no longer be applicable.
#1
Posted
:
Tuesday, September 21, 2010 10:59:28 AM(UTC)
Groups: Registered
Posts: 12
There's got to be a dither setting I'm missing, but the bitonalization applied when saving out printed pages with the code below looks terrible. What can I do to improve the quality of the image after it's been bitonalized?
#region print event handling
int currentPageNumber = 0;
Leadtools.RasterImage currentImage = null;
void printer_JobEvent(object sender, Leadtools.Printer.JobEventArgs e)
{
if (e.JobEventState == Leadtools.Printer.EventState.JobStart) {
this.currentPageNumber = 0;
}
else if (e.JobEventState == Leadtools.Printer.EventState.JobEnd) {
// save the file to disk
string filename = Path.GetTempFileName();
codecs.Save(currentImage, filename, Leadtools.RasterImageFormat.CcittGroup4, 1);
currentImage.Dispose();
// pass the image off to the DTI application itself
LaunchImageIntoDTI(filename);
return;
}
}
void printer_EmfEvent(object sender, Leadtools.Printer.EmfEventArgs e)
{
Leadtools.RasterImage newPage;
using (var mf = new System.Drawing.Imaging.Metafile(e.Stream)) {
int targetDpi = 200;
double sourceWidthInInches = Math.Round(mf.Width / mf.HorizontalResolution, 2);
double sourceHeightInInches = Math.Round(mf.Height / mf.VerticalResolution, 2);
int destWidthInPixels = (int)Math.Round(sourceWidthInInches * targetDpi);
int destHeightInPixels = (int)Math.Round(sourceHeightInInches * targetDpi);
using (Bitmap bmp = new Bitmap(destWidthInPixels, destHeightInPixels)) {
bmp.SetResolution(targetDpi, targetDpi);
using (Graphics g = Graphics.FromImage(bmp)) {
g.Clear(System.Drawing.Color.White);
g.DrawImage(mf, 0, 0, bmp.Width, bmp.Height);
}
newPage = Leadtools.Drawing.RasterImageConverter.ConvertFromImage(
bmp, Leadtools.Drawing.ConvertFromImageOptions.None);
}
}
if (++currentPageNumber == 1)
currentImage = newPage;
else
currentImage.AddPage(newPage);
}
#endregion
#2
Posted
:
Wednesday, September 22, 2010 5:45:08 AM(UTC)
Groups: Guests
Posts: 3,022
Was thanked: 2 time(s) in 2 post(s)
If you save a colored image as 1-bit, the default behavior is used and you will not be able to control it.
If you use the Leadtools.ImageProcessing.ColorResolutionCommand Class to convert from any bits-per-pixel to any bits-per-pixel, you will be able to control dithering options including 'None' mode.
#3
Posted
:
Thursday, September 23, 2010 5:42:07 AM(UTC)
Groups: Registered
Posts: 12
Which dither method would you recommend for best results with text?
#4
Posted
:
Sunday, September 26, 2010 5:59:34 AM(UTC)
Groups: Guests
Posts: 3,022
Was thanked: 2 time(s) in 2 post(s)
You can check the ColorResolutionCommand from the pre-built C# demo shipped with our toolkit and try the Color => Transform => Color Resolution and try the different dithering methods. But for text, you might get good results when setting dithering to 'none'.
LEADTOOLS Support
Document
Document SDK Questions
poor image quality when saving scanned pages as bitonal TIFF
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.