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

📄 mainform.cpp

📁 C++ BUILDER精彩编程实例集锦(源码)2 第三部分 文件操作 第四部分 图像处理
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Mainform.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
   if(this->OpenPictureDialog1->Execute())
   {
      AnsiString StrFileName=this->OpenPictureDialog1->FileName;
      this->Image1->Picture->LoadFromFile(StrFileName);
   }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
   this->Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{//平均值法将彩色图像转换为黑白图像
   for(int i=0;i<this->Image1->Width;i++)
     for(int j=0;j<this->Image1->Height;j++)
     {
        int Pixel=this->Image1->Picture->Bitmap->Canvas->Pixels[i][j];
        int ColorRed=GetRValue(Pixel);
        int ColorGreen=GetGValue(Pixel);
        int ColorBlue=GetBValue(Pixel);
        int NewPixel=((ColorRed+ColorGreen+ColorBlue)/3);
        this->Image1->Picture->Bitmap->Canvas->Pixels[i][j]=RGB(NewPixel,NewPixel,NewPixel);
     }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{//最大值法将彩色图像转换为黑白图像
   for(int i=0;i<this->Image1->Width;i++)
     for(int j=0;j<this->Image1->Height;j++)
     {
        int Pixel=this->Image1->Picture->Bitmap->Canvas->Pixels[i][j];
        int ColorRed=GetRValue(Pixel);
        int ColorGreen=GetGValue(Pixel);
        int ColorBlue=GetBValue(Pixel);
        int NewPixel=ColorRed>ColorGreen?ColorRed:ColorGreen;
        NewPixel=NewPixel>ColorBlue?NewPixel:ColorBlue;
        this->Image1->Picture->Bitmap->Canvas->Pixels[i][j]=RGB(NewPixel,NewPixel,NewPixel);
     }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{//加权平均值法将彩色图像转换为黑白图像
   for(int i=0;i<this->Image1->Width;i++)
     for(int j=0;j<this->Image1->Height;j++)
     {
        int Pixel=this->Image1->Picture->Bitmap->Canvas->Pixels[i][j];
        int ColorRed=GetRValue(Pixel);
        int ColorGreen=GetGValue(Pixel);
        int ColorBlue=GetBValue(Pixel);
        int NewPixel=ColorRed*0.6+ColorGreen*0.3+ColorBlue*0.1;
        this->Image1->Picture->Bitmap->Canvas->Pixels[i][j]=RGB(NewPixel,NewPixel,NewPixel);
     }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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