⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit4.~cpp

📁 基于c++build的填充裁剪的源代码
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit4.h"
#include "Basic_graph.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm4::Button1Click(TObject *Sender)
{
     Form4->Close();
     //Image1->Canvas->Pen->Color = clRed;
      Form1->Image1->Canvas->Pen->Color = clWhite;

      int x1,y1,x2,y2,x3,y3,x4,y4;
      int xleft,xright,y,ymax,ymin;
      //int a[5]={y1,y2,y3,y4};
      //int i,j,t,s;


      x1=StrToFloat(Edit1->Text);
      y1=StrToFloat(Edit2->Text);
      x2=StrToFloat(Edit3->Text);
      y2=StrToFloat(Edit4->Text);
      x3=StrToFloat(Edit5->Text);
      y3=StrToFloat(Edit6->Text);
      x4=StrToFloat(Edit7->Text);
      y4=StrToFloat(Edit8->Text);
      Form1->Image1->Canvas->MoveTo(x1,y1);
      Form1->Image1->Canvas->LineTo(x2,y2);
      Form1->Image1->Canvas->LineTo(x3,y3);
      Form1->Image1->Canvas->LineTo(x4,y4);
      Form1->Image1->Canvas->LineTo(x1,y1);  //画多边形

  /* {
   for(i=1;i<5;i++)
      a[i]=a[5];
      for(j=1;j<=4;j++)
       for(i=1;i<=5-j;i++)
       {
         if(a[i]>a[i+1])
         {
         {t=a[i];a[i]=a[i+1];a[i+1]=t;}
          ymax=t;

         {s=a[i+1];a[i+1]=a[i];a[i]=s;}
         ymin=b;
         }
       }
   }  */

      if(y3>y2&&y2>y4&&y4>y1)
      {
       for(y=y3;y>=y2;y--)
      {
        xright=(x3*y2-x2*y3+(x2-x3)*y)/(y2-y3);
         xleft= (x4*y3-x3*y4+(x3-x4)*y)/(y3-y4);
         if(xleft!=0&&xright!=0)
         {
          Form1->Image1->Canvas->MoveTo(xleft,y);
        //Form1->Image1->Canvas->Pixels[xright][y]=clGreen;
          Form1->Image1->Canvas->LineTo(xright,y);
            }
       }

        for(y=y2;y>=y4;y--)
       {
          xright=(x2*y1-x1*y2+(x1-x2)*y)/(y1-y2);
          xleft= (x4*y3-x3*y4+(x3-x4)*y)/(y3-y4);
          if(xleft!=0&&xright!=0)
          {
           Form1->Image1->Canvas->MoveTo(xleft,y);
           Form1->Image1->Canvas->LineTo(xright,y);
           //Form1->Image1->Canvas->Pixels[xright][y]=clGreen;
          }
       }

        for(y=y4;y>=y1;y--)
         {
            xright=(x2*y1-x1*y2+(x1-x2)*y)/(y1-y2);
          xleft= (x4*y1-x1*y4+(x1-x4)*y)/(y1-y4);
          if(xleft!=0&&xright!=0)
          {
           Form1->Image1->Canvas->MoveTo(xleft,y);
         Form1->Image1->Canvas->LineTo(xright,y);
         // Form1->Image1->Canvas->Pixels[xright][y]=clGreen;
          }
         }
       }
  }


//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -