e ae galera 4º parte do tutorial canvas e delphi, nessa parte vamos aprender mais algumas coisas entre elas manipular um unico pixel, para a gente manipular um unico pixel usamos o atributo Pixels esse atributo e uma array com duas posição que é X e Y entao para adicionar determinado pixel basta atribuir a cor, um pixel seria um unico ponto na imagem (a imagem em si é formada por milhares de pixel de cores diferentes)
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
um outro exemplo de um quadrado de 25 pixels (5x5=25), com as bordas vermelha e fundo azul
claro que o codigo acima eu poderia ter usado loops para facilitar as coisas
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem podemos pegar a cor do pixel com o atributos pixels, podemos atribuir ele para uma variavel do tipo TColor
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
manipução de um unico pixel da fazer diversas coisas duplicar uma imagem, aumentar o tamanho da mesma (para aumentar uma imagem basta pegar cada pixel original substituir por 4x o tamanho original para cada pixel para nao deformar a imagem, exemplo um quadrado de 1 pixel aumentado para um quadrado de 4pixel ambos vai ser um quadrado e o segundo vai ter mesma dimensão do primeiro porem maior), podemos manipular o pixel para criar programas reconhecimento de caracter em imagens ou podemos deformar imagens como phostoshop faz, podemos manipular o pixel para reverter cores ou pintar alguma coisa em uma imagem, existem milhares de possibilidades de uso para ele, bom galera esse tutorial ainda vai ter mais algumas partes, entao ate proxima parte ^^
by kõdo no kami
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
form1.Canvas.Pixels[100,100] := clRed;
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
um outro exemplo de um quadrado de 25 pixels (5x5=25), com as bordas vermelha e fundo azul
- Código:
procedure TForm1.FormPaint(Sender: TObject);
begin
//x1
form1.Canvas.Pixels[100,100] := clRed;
form1.Canvas.Pixels[101,100] := clRed;
form1.Canvas.Pixels[102,100] := clRed;
form1.Canvas.Pixels[103,100] := clRed;
form1.Canvas.Pixels[104,100] := clRed;
//y1
form1.Canvas.Pixels[100,101] := clRed;
form1.Canvas.Pixels[100,102] := clRed;
form1.Canvas.Pixels[100,103] := clRed;
form1.Canvas.Pixels[100,104] := clRed;
//x2
form1.Canvas.Pixels[104,101] := clRed;
form1.Canvas.Pixels[104,102] := clRed;
form1.Canvas.Pixels[104,103] := clRed;
form1.Canvas.Pixels[104,104] := clRed;
//y2
form1.Canvas.Pixels[101,104] := clRed;
form1.Canvas.Pixels[102,104] := clRed;
form1.Canvas.Pixels[103,104] := clRed;
form1.Canvas.Pixels[104,104] := clRed;
//fundo
form1.Canvas.Pixels[101,101] := clBlue;
form1.Canvas.Pixels[102,101] := clBlue;
form1.Canvas.Pixels[103,101] := clBlue;
form1.Canvas.Pixels[101,102] := clBlue;
form1.Canvas.Pixels[102,102] := clBlue;
form1.Canvas.Pixels[103,102] := clBlue;
form1.Canvas.Pixels[101,103] := clBlue;
form1.Canvas.Pixels[102,103] := clBlue;
form1.Canvas.Pixels[103,103] := clBlue;
end;
claro que o codigo acima eu poderia ter usado loops para facilitar as coisas
- Código:
procedure TForm1.FormPaint(Sender: TObject);
var cont, cont2: integer;
begin
//x1 e x2
for cont := 100 to 104 do
begin
form1.Canvas.Pixels[cont,100] := clRed;
form1.Canvas.Pixels[cont,104] := clRed;
end;
//y1 e y2
for cont := 100 to 104 do
begin
form1.Canvas.Pixels[100,cont] := clRed;
form1.Canvas.Pixels[104,cont] := clRed;
end;
//fundo
for cont := 101 to 103 do
begin
for cont2 := 101 to 103 do
begin
form1.Canvas.Pixels[cont,cont2] := clBlue;
end;
end;
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem podemos pegar a cor do pixel com o atributos pixels, podemos atribuir ele para uma variavel do tipo TColor
- Código:
procedure TForm1.FormPaint(Sender: TObject);
var cor: TColor;
begin
form1.Canvas.Brush.Color := clRed;
form1.Canvas.Rectangle(100,100,200,200);
cor := form1.Canvas.Pixels[150,150];
if(cor = clRed)then
begin
ShowMessage('o pixel na posição 150x150 é vermelho');
end
else
begin
ShowMessage('o pixel nao e vermelho');
end;
end;
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
manipução de um unico pixel da fazer diversas coisas duplicar uma imagem, aumentar o tamanho da mesma (para aumentar uma imagem basta pegar cada pixel original substituir por 4x o tamanho original para cada pixel para nao deformar a imagem, exemplo um quadrado de 1 pixel aumentado para um quadrado de 4pixel ambos vai ser um quadrado e o segundo vai ter mesma dimensão do primeiro porem maior), podemos manipular o pixel para criar programas reconhecimento de caracter em imagens ou podemos deformar imagens como phostoshop faz, podemos manipular o pixel para reverter cores ou pintar alguma coisa em uma imagem, existem milhares de possibilidades de uso para ele, bom galera esse tutorial ainda vai ter mais algumas partes, entao ate proxima parte ^^
by kõdo no kami