Beispiel #1
0
void OutputGLCanvas::_drawTestSignal(QPainter* painter)
{
  const QRect& geo = geometry();
  painter->setPen(MM::CONTROL_COLOR);
  int rect_size = 10;
  QColor color_0(191, 191, 191);
  QColor color_1(128, 128, 128);
  QBrush brush_0(color_0);
  QBrush brush_1(color_1);

  painter->setPen(Qt::NoPen);

  // Draw checkerboard pattern.
  for (int x = geo.x(); x < geo.width(); x += rect_size)
  {
    for (int y = geo.y(); y < geo.height(); y += rect_size)
    {
      if (((x + y) % 20) == 0)
      {
        painter->setBrush(brush_0);
      } else {
        painter->setBrush(brush_1);
      }
      painter->drawRect(x, y, rect_size, rect_size);
    }
  }

  // Draw the actual brush.
  painter->fillRect(geo, this->_brush_test_signal);
}
void QvkWidgetcircle::paintEvent( QPaintEvent *event )
{
  (void)event;

  QRegion RegionWidget( 0, 0, width(), height() );
  QRegion RegionPaint( 0, 0, width(), height(), QRegion::Ellipse );
#ifdef QT4
  QRegion RegionSpace = RegionWidget.subtract( RegionPaint );
  QRegion RegionPaintWidget = RegionWidget.subtract( RegionSpace );
#endif
#ifdef QT5
  QRegion RegionSpace = RegionWidget.subtracted( RegionPaint );
  QRegion RegionPaintWidget = RegionWidget.subtracted( RegionSpace );
#endif  
  setMask(RegionPaintWidget);

  QPainter painter;;
  painter.begin( this );
    painter.setRenderHints( QPainter::Antialiasing, true );
    QBrush brush( widgetColor, Qt::SolidPattern );
    painter.setBrush( brush );
    painter.setPen( widgetColor );  
    painter.drawEllipse ( QPoint( width()/2, height()/2), width()/2-1, height()/2-1 );
    
    if ( set == false )
    {
      QBrush brush_1( Qt::white, Qt::SolidPattern );
      painter.setBrush( brush_1 );
      painter.setPen( Qt::white );  
      painter.drawEllipse ( QPoint( width()/2, height()/2), width()/5, height()/5 );
    }
    
    if ( set == true )
    {
      QBrush brush_2( Qt::white, Qt::SolidPattern );
      painter.setBrush( brush_2 );
      painter.setPen( Qt::white );  
      painter.drawEllipse ( QPoint( width()/2, height()/2), width()/5, height()/5 );
      
      QBrush brush_3( Qt::black, Qt::SolidPattern );
      painter.setBrush( brush_3 );
      painter.setPen( Qt::black );  
      painter.drawEllipse ( QPoint( width()/2, height()/2), width()/5-2, height()/5-2 );
    }


  painter.end();
}
Beispiel #3
0
void CCAD_5_23Dlg::OnButton2() 
{
	// TODO: Add your control notification handler code here
	double fine0[N+2];
	double fine[N+2]={0};
	double b[N+1];
	double j[N+1];
	int flag=0;
	int i;
	CWnd * x=(CWnd *) GetDlgItem(IDC_STATIC);
	CDC * pDC1 =x->GetDC() ;
	
	CBrush brush_1(RGB(255,255,255));
	CBrush brush_2(RGB(0,0,0));
	CRect rect(0,0,700,500);
	do_fine0(fine0,N);
	 while(!flag)
	 {
	 do_b(b,fine0,N);
	 do_j(j,fine0,N);
	 zhuigan(fine,b,j,N-1);
	 flag=check(fine,N);
//	 printf("%d",flag);
	 exchange(fine0,fine,N-1);
	 }
for(i=0;i<500;i++)
				{
				fine0[i]=(int)(fine0[i]*500);
			
				}
	 	pDC1->Rectangle(rect);
	pDC1->FillRect(rect,&brush_1);
	pDC1->SelectObject(brush_2);

	
	
		
				for(i=0;i<500;i++)
				{
		//		pDC1->Ellipse(i,fine0[i],i+1,fine0[i]+1); // ×¢Òâ¾ÍÐÐ
			pDC1->SetPixel(i+50,450-fine0[i],RGB(0,128,128)); 
				if(i%10==0)
				{
					pDC1->SetPixel(i-1+50,450-fine0[i]-1,RGB(0,0,0));
					pDC1->SetPixel(i-1+50,450-fine0[i]+1,RGB(0,0,0));
					pDC1->SetPixel(i+1+50,450-fine0[i]-1,RGB(0,0,0));
					pDC1->SetPixel(i+1+50,450-fine0[i]+1,RGB(0,0,0));
					pDC1->SetPixel(i-2+50,450-fine0[i]-2,RGB(0,0,0));
					pDC1->SetPixel(i-2+50,450-fine0[i]+2,RGB(0,0,0));
					pDC1->SetPixel(i+2+50,450-fine0[i]-2,RGB(0,0,0));
					pDC1->SetPixel(i+2+50,450-fine0[i]+2,RGB(0,0,0));
				}
				}
				for(i=0;i<5;i++)
				{
					pDC1->SetPixel(100+50,450-i,RGB(0,0,0));
					pDC1->SetPixel(200+50,450-i,RGB(0,0,0));
					pDC1->SetPixel(300+50,450-i,RGB(0,0,0));
					pDC1->SetPixel(400+50,450-i,RGB(0,0,0));
					pDC1->SetPixel(500+50,450-i,RGB(0,0,0));

					pDC1->SetPixel(i+50,450-50,RGB(0,0,0));
					pDC1->SetPixel(i+50,450-100,RGB(0,0,0));
					pDC1->SetPixel(i+50,450-150,RGB(0,0,0));
					pDC1->SetPixel(i+50,450-200,RGB(0,0,0));
				
				}
				for(i=0;i<=550;i++)
				{
					pDC1->SetPixel(i+50,450,RGB(0,0,0));
				
				}
				for(i=200;i<=450;i++)
					pDC1->SetPixel(50,i,RGB(0,0,0));
				pDC1->TextOut(50,451,"0");
				pDC1->TextOut(150,451,"0.1");
				pDC1->TextOut(250,451,"0.2");
				pDC1->TextOut(350,451,"0.3");
				pDC1->TextOut(450,451,"0.4");
				pDC1->TextOut(550,451,"0.5");

			
				pDC1->TextOut(30,450-50-10,"0.1");
				pDC1->TextOut(30,450-100-10,"0.2");
				pDC1->TextOut(30,450-150-10,"0.3");
				pDC1->TextOut(30,450-200-10,"0.4");


				pDC1->SetPixel(600-1,450-1,RGB(0,0,0));
				pDC1->SetPixel(600-2,450-2,RGB(0,0,0));
				pDC1->SetPixel(600-3,450-3,RGB(0,0,0));
				pDC1->SetPixel(600-4,450-4,RGB(0,0,0));
				pDC1->SetPixel(600-1,450+1,RGB(0,0,0));
				pDC1->SetPixel(600-2,450+2,RGB(0,0,0));
				pDC1->SetPixel(600-3,450+3,RGB(0,0,0));
				pDC1->SetPixel(600-4,450+4,RGB(0,0,0));

				pDC1->SetPixel(50-1,200+1,RGB(0,0,0));
				pDC1->SetPixel(50-2,200+2,RGB(0,0,0));
				pDC1->SetPixel(50-3,200+3,RGB(0,0,0));
				pDC1->SetPixel(50-4,200+4,RGB(0,0,0));
				pDC1->SetPixel(50+1,200+1,RGB(0,0,0));
				pDC1->SetPixel(50+2,200+2,RGB(0,0,0));
				pDC1->SetPixel(50+3,200+3,RGB(0,0,0));
				pDC1->SetPixel(50+4,200+4,RGB(0,0,0));

	 
}