开发者

How to create image from text strings

I perform a screen capture and get an image with a text in it. Let consider the text in the image to read - 'Hello'.

Now, I would like to 'create' an image from text 'Hello' which has all the same properties (font style, size, pixel format..) as the text - Hello from my captured image.

I'm using the following code to convert the string - Hello to an image.

string str = "Hello";
  Bitmap bmp = new Bitmap(74, 16, PixelFormat.Format32bppArgb);
  using (Graphics gfx = Graphics.FromImage((Image)bmp))
  {
    Font font = new Font("Tahoma", 11, FontStyle.Regular, GraphicsUnit.Pixel);
    gfx.FillRectangle(Brushes.Transparent, new RectangleF(0, 0, bmp.Width, bmp.Height));
    gfx.FillRectangle(Brushes.Black, 0, 0, 74, 16);
    gfx.DrawString(str, font, new SolidBrush(Color.White), 1, 1);
    bmp.Save(@"C:\temp\" + str + ".bmp", ImageFormat.Bmp);
  }

The two images (one from screen capture, and second from creating) are not the same.

How do I create an image with text which would match exactly to the image with text from the screen capture ?

Here is the code I use to screen capture from the third party application....

        Rectangle rect = new Rectangle(194, 41, 74, 16);

        using (Bitmap bmpScreenShot = new Bitmap(rect.Width, rect.Height))
        {
          using (Graphics gfxScreenShot = Graphics.FromImage(bmpScreenShot))
          {
            gfxScreenShot.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmpScreenShot.Size, CopyPixel开发者_StackOverflow社区Operation.SourceCopy);
            gfxScreenShot.Dispose();


            MemoryStream imageStream = new MemoryStream();
            bmpScreenShot.Save(imageStream, ImageFormat.Bmp);
            bmpScreenShot.Save(@"c:\temp\pic1_0.bmp");
          }
     }


I assume you're trying to implement an OCR. I've never tried anything like it, and can imagine it get's quite complicated. You might want to check out other (open-source) OCRs, like:

  • OCR in the Cloud, by Microsoft
  • Tessnet2
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜