2011-07-21 49 views
-1

我正在使用Microsoft Office Document Imaging(MODI)并试图加载TIF 文件,但在执行OCR之前将其转换为灰度。使用MODI并将图像更改为灰度

我不知道如何做到这一点。

我有这个在我的代码:

私人MODI.Document _MODIDocument = NULL;

_MODIDocument = new MODI.Document();

_MODIDocument.Create(filename); axMiDocView1.Document = _MODIDocument;

有人能告诉我如何将文档的图像部分转换为灰度?

Bitmap oldBitmap = new Bitmap(Server.MapPath("~/Db/Plates/" + dosyaadi), false); 
Bitmap newBitmap = Grayscale(new Bitmap(oldBitmap)); 
string name = "grayscale"; 
newBitmap.Save(Server.MapPath("~/Db/Plates/") + name + ".jpg", ImageFormat.Jpeg); 

感谢

+0

变化技术。我们走了这条路,遇到了Office的版本问题,在网络驱动器上遇到了损坏的文件,然后MS终止了Office 2010。 – TrueWill

回答

0
public static Bitmap Grayscale(Bitmap bitmap) 
{ 
    //Declare myBitmap as a new Bitmap with the same Width & Height 
    Bitmap myBitmap = new Bitmap(bitmap.Width, bitmap.Height); 

    for (int i = 0; i < bitmap.Width; i++) 
    { 
     for (int x = 0; x < bitmap.Height; x++) 
     { 
      //Get the Pixel 
      Color BitmapColor = bitmap.GetPixel(i, x); 
      //I want to come back here at some point and understand, then change, the constants 
      //Declare grayScale as the Grayscale Pixel 
      int grayScale = (int)((BitmapColor.R * 0.3) + (BitmapColor.G * 0.59) + (BitmapColor.B * 0.11)); 

      //Declare myColor as a Grayscale Color 
      Color myColor = Color.FromArgb(grayScale, grayScale, grayScale); 

      //Set the Grayscale Pixel 
      myBitmap.SetPixel(i, x, myColor); 
     } 
    } 
    return myBitmap; 
} 

Click事件,然后删除组织PIC ..