Esempio n. 1
0
 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++;
 }
Esempio n. 2
0
  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();
  }