Esempio n. 1
0
 public void DrawTo( Image img, ColorContour contour )
 {
     Graphics g = Graphics.FromImage( img );
     Pen p = new Pen( Color.Black );
     int origin = contour.BmpMargin - 1;
     double unitX = (double)(contour.BmpWidth - 2*contour.BmpMargin - 1) / (contour.XNum - 1);
     double unitY = (double)(contour.BmpHeight- 2*contour.BmpMargin - 1) / (contour.YNum - 1);
     for( int i=0; i<contour.XNum; i++ )
     {
         for( int j=0; j<contour.YNum; j++ )
         {
             int x = (int)(i*unitX + 0.5);
             int y = (int)(j*unitY + 0.5);
             g.DrawRectangle( p, origin + x, origin + y, 2, 2 );
         }
     }
 }
Esempio n. 2
0
        public void DrawTo( Image img, ColorContour contour, FieldSettings field )
        {
            if( !contour.HasVectorData )
            {
                throw new InvalidOperationException( "ベクトルデータはありません" );
            }
            Graphics g = Graphics.FromImage( img );
            Pen p = new Pen( field.Arrow.LineColor );
            Brush b = new SolidBrush( field.Arrow.InnerColor );
            PointF origin = new PointF( (float)contour.BmpMargin, (float)contour.BmpMargin );
            float unitX = (float)(contour.BmpWidth - 2*contour.BmpMargin -1) / (contour.XNum - 1);
            float unitY = (float)(contour.BmpHeight- 2*contour.BmpMargin -1) / (contour.YNum - 1);

            Drawer d = new Drawer( g, field );

            for( int i=0; i<contour.XNum; i++ )
            {
                for( int j=0; j<contour.YNum; j++ )
                {
                    SizeF pt1 = new SizeF( i*unitX, (contour.YNum-1-j)*unitY );
                    d.DrawArrow( origin + pt1, contour.scrData[i][j], contour.uData[i][j], contour.vData[i][j] );
                }
            }
        }