domingo, 27 de noviembre de 2011

Manipulacion de colores y pixeles

#include <vcl.h>
#pragma hdrstop

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

void __fastcall TForm1::Button1Click(TObject *Sender)
{
     TColor color,r;
     for(int i=0;i<Image1->Width;i++)
     {
       for(int j=0;j<Image1->Height;j++)
       {
          color= Image1->Canvas->Pixels[i][j];
          r=color & 255;
          Image2->Canvas->Pixels[i][j]=r;

       }
     }

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    TColor color,r;
     for(int i=0;i<Image1->Width;i++)
     {
       for(int j=0;j<Image1->Height;j++)
       {
          color= Image1->Canvas->Pixels[i][j];
          r=color & 0xff0000;
          Image2->Canvas->Pixels[i][j]=r;

       }
     }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
    TColor color,r;
     for(int i=0;i<Image1->Width;i++)
     {
       for(int j=0;j<Image1->Height;j++)
       {
          color= Image1->Canvas->Pixels[i][j];
          r=color & 0x000ff00;
          Image2->Canvas->Pixels[i][j]=r;

       }
     }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
     Image2->CleanupInstance();
     for(int i=0;i<Image1->Width;i++)
     {
       for(int j=0;j<Image1->Height;j++)
       {
Image2->Canvas->Pixels[Image2->Width -i][Image2->Height -j]=Image1->Canvas->Pixels[i][j];

       }
     }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
   Label2->Caption=X ;
    Label4->Caption= Y;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    Label2->Caption= X;
    Label4->Caption=Y;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Image2MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    //Label2->Caption=X ;
    //Label4->Caption= Y;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button5Click(TObject *Sender)
{    Image2->CleanupInstance();
      Image2->Height=Image1->Width -3;
      Image2->Width=Image1->Height-3;
       for(int i=0;i<Image1->Width;i++)
     {
       for(int j=0;j<Image1->Height;j++)
       {
          Image2->Canvas->Pixels[j][i]=Image1->Canvas->Pixels[i][j];

       }
     }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
     Image2->CleanupInstance();
      /*Image2->Height=Image1->Width -3;
        Image2->Width=Image1->Height-3;
       for(int i=0;i<Image1->Width;i++)
     {
       for(int j=0;j<Image1->Height;j++)
       {
           Image2->Canvas->Pixels[i][j]=Image1->Canvas->Pixels[Image1->Height-j][Image1->Width -i];

       } */ for(int x = 0; x < Image1->Width; x++)
            {
            for(int y =0; y < Image1->Height; y++)
             {
               int w= -1*(x-Image1->Width);
               Image2->Canvas->Pixels[w][y] = Image1->Canvas->Pixels[x][y];
             }
             }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
      TColor pixelColor, Verde;
    for(int y=0; y<Image1->Height; y++)
     for(int x=0; x<Image1->Width; x++)
      {
        pixelColor= Image1->Canvas->Pixels[x][y];
        //Verde = pixelColor & 0x0000FF00;
          Verde = pixelColor | 0x0000FF00;

        Image2->Canvas->Pixels[x][y] ^= Verde;
      }
}

No hay comentarios:

Publicar un comentario