页面和变换(一)

原创 2005年04月28日 17:06:00

画标尺:

()手工转换

 

using System;

using   System.Drawing ;

using System.Drawing.Printing ;

using  System.Windows.Forms ;

namespace WindowsProgram

{

     class TenCenTimeterRuler:PrintTableForm

     {

         static void Main(string[] args)

         {

              Application.Run(new TenCenTimeterRuler());

         }

         public  TenCenTimeterRuler()

         {

              Text="Ten Cen Timeter Ruler";

             

         }

         protected  override void  DoPage(Graphics  grs,Color clr,int cx,int cy)

         {

                   Pen pen=new Pen(clr);

              Brush brush=new SolidBrush(clr);

              const  int xOffset=10;

              const  int yOffset=10;

              grs.DrawPolygon(pen,new PointF[]{MMConv(grs,new PointF(xOffset,yOffset)),

                                  MMConv(grs,new PointF(xOffset+150,yOffset)),

                                  MMConv(grs,new PointF(xOffset+150,yOffset+10)),

                                    MMConv(grs,new PointF(xOffset,yOffset+10))});

              StringFormat stmmt=new StringFormat();

              stmmt.Alignment =StringAlignment.Center;          

              for ( int i=0;i<150;i++)

            {

                   if(i%10==0)

                   {

                            grs.DrawLine(pen,MMConv(grs,new PointF(xOffset+i,yOffset)),

                        MMConv(grs,new PointF(xOffset+i,yOffset+5)));

                       grs.DrawString((i/10).ToString(),Font,brush,

                            MMConv(grs,new PointF(xOffset+i,yOffset+5)),stmmt);

                   }

                   else

                   {   

                       if(i%5==0)

                       {

                            grs.DrawLine(pen,MMConv(grs,new PointF(xOffset+i,yOffset)),

                                 MMConv(grs,new PointF(xOffset+i,yOffset+3)));

                       }

                       else

                       {

                            grs.DrawLine(pen,MMConv(grs,new PointF(xOffset+i,yOffset)),

                                 MMConv(grs,new PointF(xOffset+i,yOffset+2.5f)));

                       }

                   }

            

              }

             

             

                   //grs.DrawEllipse(new Pen(clr),0,0,grs.DpiX,grs.DpiY);

         }

         PointF MMConv(Graphics grs,PointF pointf)// 象素转换成毫米

        {

         pointf.X *=grs.DpiX /25.4f;//因为1英寸 =25.4毫米,1cm=0.394 英寸

         pointf.Y *=grs.DpiY /25.4f;

         return pointf ;

        }

        

     }

}

()自动转换

 

using System;

using   System.Drawing ;

using System.Drawing.Printing ;

using  System.Windows.Forms ;

namespace WindowsProgram

{

     class TenCenTimeterRulerAuTo:PrintTableForm

     {

         static void Main(string[] args)

         {

              Application.Run(new TenCenTimeterRulerAuTo());

         }

         public  TenCenTimeterRulerAuTo()

         {

              Text="Ten Cen Timeter Ruler";

             

         }

         protected  override void  DoPage(Graphics  grs,Color clr,int cx,int cy)

         {

             

              Pen pen=new Pen(clr,0.25f);

              Brush brush=new SolidBrush(clr);

              const  int xOffset=10;

              const  int yOffset=10;

              grs.PageUnit=GraphicsUnit.Millimeter;

              grs.PageScale=1;

 

              grs.DrawRectangle(pen,xOffset,yOffset,150,10);

              StringFormat stmmt=new StringFormat();

              stmmt.Alignment =StringAlignment.Center;          

              for ( int i=0;i<150;i++)

            {     if(i%10==0)

                   {    grs.DrawLine(pen,new PointF(xOffset+i,yOffset),

                        new PointF(xOffset+i,yOffset+5));

                        grs.DrawString((i/10).ToString(),Font,brush,

                            new PointF(xOffset+i,yOffset+5),stmmt);

                   }

                   else

                   {   

                       if(i%5==0)

                       {    grs.DrawLine(pen,new PointF(xOffset+i,yOffset),

                                 new PointF(xOffset+i,yOffset+3));

                       }

                        else

                       {grs.DrawLine(pen,new PointF(xOffset+i,yOffset),

                                 new PointF(xOffset+i,yOffset+2.5f));

                       }

                   }           

              }       

         }       

     }

}

7.7画笔宽度

 

using System;

using   System.Drawing ;

using System.Drawing.Printing ;

using  System.Windows.Forms ;

namespace WindowsProgram

{

     class PenWidths:PrintTableForm

     {

         static void Main(string[] args)

         {

              Application.Run(new PenWidths());

         }

         public  PenWidths()

         { Text="Pen Widths";            

         }

         protected  override void  DoPage(Graphics  grs,Color clr,int cx,int cy)

         {    Brush brush=new SolidBrush(clr);

              float y=0;

              grs.PageUnit=GraphicsUnit.Millimeter;

              grs.PageScale=1;           

              StringFormat stmmt=new StringFormat();

              stmmt.Alignment =StringAlignment.Center;          

              for ( float f=0;f<3.2;f+=0.2f)

            { Pen pen=new Pen(clr,f);

             string  str=String.Format("{0:F1} Point wide Pen:",f);

               SizeF  sizef=grs.MeasureString(str,Font);

               grs.DrawString(str,Font,brush,0,y);

               grs.DrawLine(pen,sizef.Width,y+sizef.Height/2,sizef.Width+144,y+sizef.Height/2);

               y+=Font.Height/2;        

              }            

         }       

     }

}

随鼠标变换页面

  • 2013年08月07日 16:54
  • 4KB
  • 下载

静态页面 用js实现导航栏变换背景

注:此种方法适用于五种情况 1.http://www.baidu.com 2.http://www.baidu.com/ 3.http://www.baidu.com/index.html ; 4.h...

asp.net 同一个页面中如何保持变量的值在多个事件中变换???

牛腩新闻发布系统进行到尾声,因为开始就和视频讲师讲解牛腩新闻系统的数据库结构,编程命名等一些细节不一样,所以越是到后期,越有点吃力,跟着视频做系统的时候,出现了好多问题,不是文件找不到,就是变量,对象...

分享一个自己利用javascript中的window.setInterval()定时器实现页面背景图片变换的特效(同时淡入淡出效果)

和上一个发的文章一样,同样是利用setInterval()定时器,可以实现图片淡入淡出,图片变换等等特效。 其实可以看出,图片并不是背景图片,只是利用了DIV中position: absolute;...

fragment嵌套fragment,支持点击、滑动变换页面效果

MainActivity----首页-----》FragmentLbt 布局代码: RadioGroup android:layout_marginTop="50dp" andr...

pdfjs,web页面的pdf预览工具

  • 2017年12月09日 18:04
  • 2.47MB
  • 下载

JavaWeb如何将后台数据传递到前台页面HttpServletResponse和HttpServletRequest

继续总结:Java经过Action后,怎么将action中返回的数据写到前台去 先了解下:HttpServletResponse对象 (1).Web服务器收到一个http请求,会针对每个请求创建一...

初级页面资料。。

  • 2017年11月21日 21:16
  • 359KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:页面和变换(一)
举报原因:
原因补充:

(最多只允许输入30个字)