helldanger1
GForum VIP
- Entrou
- Ago 1, 2007
- Mensagens
- 29,631
- Gostos Recebidos
- 1
ColorToString
O exemplo a seguir leva um componente Image e três Label no Form. Ele dá o RGB do local da imagem onde o usuário der um clique (ou melhor, MouseDown), bem como a cor (em string).
//---------------------------------------------------------------------------
#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::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
int L = ColorToRGB(Image1->Canvas->Pixels[X][Y]);
Label1 -> Caption = L;
// Outra forma de obter o RGB
TColor color;
color = Image1->Canvas->Pixels[X][Y];
Label2 -> Caption = color;
// Agora uma forma de obter a cor por extenso
AnsiString M = ColorToString(Image1->Canvas->Pixels[X][Y]);
Label3->Caption = M;
// Para este código deve-se recorrer à
// imagem como uma matriz
// quantidade de vermelho no pixel
TColor R=GetRValue(Image1->Canvas->Pixels[X][Y]);
// quantidade de Verde
TColor G=GetGValue(Image1->Canvas->Pixels[X][Y]);
//quantidade de azul
TColor B=GetBValue(Image1->Canvas->Pixels[X][Y]);
Label4 -> Caption = (String)"RGB( " + R + ", " + G + ", " + B + ")";
}
//---------------------------------------------------------------------------
O exemplo a seguir leva um componente Image e três Label no Form. Ele dá o RGB do local da imagem onde o usuário der um clique (ou melhor, MouseDown), bem como a cor (em string).
//---------------------------------------------------------------------------
#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::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
int L = ColorToRGB(Image1->Canvas->Pixels[X][Y]);
Label1 -> Caption = L;
// Outra forma de obter o RGB
TColor color;
color = Image1->Canvas->Pixels[X][Y];
Label2 -> Caption = color;
// Agora uma forma de obter a cor por extenso
AnsiString M = ColorToString(Image1->Canvas->Pixels[X][Y]);
Label3->Caption = M;
// Para este código deve-se recorrer à
// imagem como uma matriz
// quantidade de vermelho no pixel
TColor R=GetRValue(Image1->Canvas->Pixels[X][Y]);
// quantidade de Verde
TColor G=GetGValue(Image1->Canvas->Pixels[X][Y]);
//quantidade de azul
TColor B=GetBValue(Image1->Canvas->Pixels[X][Y]);
Label4 -> Caption = (String)"RGB( " + R + ", " + G + ", " + B + ")";
}
//---------------------------------------------------------------------------