2013-02-27 64 views
0

當前我有這種方法在頁面的左上角繪製一個矩形。我想創建另一種方法,在我的掃描文檔的四個角中的任意角落搜索矩形圖。 我該如何去寫一個方法,將檢查每個角落的矩形繪圖基於我創建繪製矩形。檢測PDF頁角上的矩形圖頁面

static void AddQRTag(PdfSharp.Drawing.XGraphics gfx, int xPosition, int yPosition, string QRdata, string HRdata) 
    { 
     gfx.DrawRectangle(XBrushes.White, xPosition, yPosition, xPosition + 55, yPosition + 85); 

     PdfSharp.Drawing.XImage xImage = 
      PdfSharp.Drawing.XImage.FromGdiPlusImage(BuildQR(QRdata.ToUpper(), 3, 
              QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC, 2, QRCodeEncoder.ERROR_CORRECTION.M)); 
     gfx.DrawImage(xImage, xPosition + 5, yPosition + 5, xImage.PixelWidth * .8, xImage.PixelWidth * .8); 


     //XFont font = new XFont("OCR B", 10, XFontStyle.Bold); 
     XFont font = new XFont("OCR B", 6); 
     XTextFormatter tf = new XTextFormatter(gfx); 
     tf.Alignment = XParagraphAlignment.Left; 

     //XStringFormat format = new XStringFormat(); 
     //format.Alignment = XStringAlignment.Near; 
     XRect layout = new XRect(xPosition + 5, yPosition + 55, 55, 30); 
     tf.DrawString(HRdata.ToUpper(), font, XBrushes.Black, layout, XStringFormats.TopLeft); 
     //gfx.DrawString(HRdata, font, XBrushes.Black,layout,format); 
    } 
+0

你想使用的圖像處理技術,找到矩形? – OopsUser 2013-02-27 19:29:42

+0

@OopsUser我不確定最有效的是什麼。我正在閱讀有關使用itextSharp,但我不知道什麼是最好的方式,將工作。無論是在頁面的所有四角找到圖像更好還是檢查一個角落並旋轉文檔直到找到圖像(位圖)。 – BB987 2013-02-27 19:35:04

回答

0

可能有很多技術如何使用第三方PDF閱讀器API在PDF文件中查找圖像。 但假設你找不到任何方法,並假設你可以閱讀PDF文件並將它們轉換爲簡單的圖像,你可以很容易地找到你的矩形使用圖像處理技術。

最簡單的方法是使用簡單的相關器查找矩形,如果不知道矩形的尺寸,可以用不同的矩形運行相關器幾次。

如果需要高性能還有其他的解決方案(如果是這種情況只寫評論,我會點你到另一個方向)