示例#1
0
 private void setStrg(double sx, double sy, string sStr)
 {
     sx   = sx * m_dTime + m_dBaseX;
     sy   = sy * m_dTime + m_dBaseY;
     sStr = analyzeString(sStr);
     if (m_nTate == 0)
     {
         m_libCanvas.drawYokoStrg(m_Canvas, sx, sy, 0.0, 1.0, sStr);
     }
     else
     {
         m_libCanvas.drawTateStrg(m_Canvas, sx, sy, 0.0, 1.0, sStr);
     }
 }
示例#2
0
        private void drawCanvas(Canvas canvas)
        {
            double fs, sp;
            string sFileName;

            string[] aryLine;
            int      max, idx;

            string[] ary;
            double   dx, dy;
            double   sx, sy;
            double   wd, hi;
            string   str;

            m_dFontSize  = 5.0;
            m_dFontTime  = 1.0;
            m_dFontSpace = 0.0;
            m_sFontName  = "MS 明朝";
            m_nTateGaki  = 0;
            fs           = trnsLen(m_dFontSize);
            m_libCanvas.setFontSize(fs);
            m_libCanvas.setFontName(m_sFontName);
            m_libCanvas.setFontNomal();
            m_libCanvas.setBrushFill(-1, -1, -1);
            m_libCanvas.setBrushStroke(0, 0, 0, 0.5, 0);
            m_libCanvas.setBrushText(0, 0, 0);

            sFileName = m_sExecPath + "\\kden\\fuutou.lay";
            aryLine   = m_libCmn.LoadFileLineSJIS(sFileName);
            max       = aryLine.Length;
            for (idx = 1; idx < max; idx++)
            {
                ary = aryLine[idx].Split(',');
                if (ary.Length < 2)
                {
                    continue;
                }
                switch (ary[0])
                {
                case "FONT":
                    wd          = m_libCmn.StrToDouble(ary[1]);
                    hi          = m_libCmn.StrToDouble(ary[2]);
                    m_sFontName = ary[3];
                    m_nTateGaki = m_libCmn.StrToInt(ary[4]);
                    if (m_nTateGaki == 0)
                    {
                        m_dFontSize = hi;
                        m_dFontTime = wd / hi;
                    }
                    else
                    {
                        m_dFontSize = wd;
                        m_dFontTime = hi / wd;
                    }
                    fs = trnsLen(m_dFontSize);
                    m_libCanvas.setFontSize(fs);
                    m_libCanvas.setFontName(m_sFontName);
                    break;

                case "FSPC":
                    m_dFontSpace = m_libCmn.StrToDouble(ary[1]);
                    break;

                case "STRG":
                    sp  = trnsLen(m_dFontSpace);
                    str = analyzeString(ary[3]);
                    dx  = m_libCmn.StrToDouble(ary[1]);
                    dy  = m_libCmn.StrToDouble(ary[2]);
                    sx  = trnsX(dx);
                    sy  = trnsY(dy);
                    if (m_nTateGaki == 0)
                    {
                        m_libCanvas.drawYokoStrg(canvas, sx, sy, sp, m_dFontTime, str);
                    }
                    else
                    {
                        m_libCanvas.drawTateStrg(canvas, sx, sy, sp, m_dFontTime, str);
                    }
                    break;

                case "RSTR":
                    sp  = trnsLen(m_dFontSpace);
                    fs  = trnsLen(m_dFontSize);
                    str = analyzeString(ary[3]);
                    dx  = m_libCmn.StrToDouble(ary[1]);
                    dy  = m_libCmn.StrToDouble(ary[2]);
                    if (m_nTateGaki == 0)
                    {
                        sx = trnsX(dx) - fs * m_dFontTime * str.Length -  -sp * m_dFontTime * (str.Length - 1);
                        sy = trnsY(dy);
                        m_libCanvas.drawYokoStrg(canvas, sx, sy, sp, m_dFontTime, str);
                    }
                    else
                    {
                        sx = trnsX(dx);
                        sy = trnsY(dy) - fs * m_dFontTime * str.Length -  -sp * m_dFontTime * (str.Length - 1);
                        m_libCanvas.drawTateStrg(canvas, sx, sy, sp, m_dFontTime, str);
                    }
                    break;
                }
            }
        }