void drawOneWord(Canvas canvas, float fScale) { ArrayList pplist = pathDrawing.getPointList(); for (int i = 0; i < pplist.size(); i++) { drawOneStroke(canvas, i, fScale); } pathDrawing.ResetPointList(); nWordCount++; }
void CopyDrawImage(Canvas canvas) { float fScale = 0.0f; try { fScale = (nItemHeight - 5) * 100 / (b - t); fScale /= 100; if ((r - l) > 0) { sHWRate = (b - t) * 1000 / (r - l); sHWRate /= 1000; } if ((sHWRate < 0.25f) && ((b - t) < 50)) fScale = 0.5f; if (r - l < 25 && b - t < 25) { fScale = 1.0f; } } catch (Exception e) { e.printStackTrace(); } int nWidth = (int) ((r - l) * fScale + 5); int nNextStartX = 0; // nNextStartX :预期的结束点,即下一个字的开始点 nNextStartX = nstartx + nWidth; if (nNextStartX > GlobalVariables.screenWidth) { nLineCount++; nstarty += 40; nstartx = 5; nNextStartX = nstartx + nWidth; } pListWordSection.add(new WordSection(this, nstartx, nLineCount, nWidth)); drawOneWord(canvas, fScale); nstartx = nNextStartX; l = t = r = b = 0; pathDrawing.resetLimit(); pathDrawing.ResetPointList(); bitmapSrc.eraseColor(0); draw(canvas); view.invalidate(); }