|
Tutoriaux
- Graphique - Pixels |
Voici un exemple travaillant avec
les pixels.
On affecte pixels pour modifier la couleur d'un
pixel de la surface de dessin. Pixels est utilisé pour des effets
précis sur l'image.
Travailler en pixel est relativement long selon la taille de l'image.
Par contre, l'avantage par rapport à la méthode de scanline
est de garder le nombre de bits de l'image.
procedure
TButton1Click(Sender: TObject);
var Rouge,vert,bleu,moyenne: Byte;
px,py: Word;
couleur: Longint;
begin
Screen.Cursor := crHourglass;
try
for Py:=0 to (Image1.Height-1) do
for Px:=0 to (Image1.Width-1) do
begin
Couleur:=ColorToRGB(Image1.Canvas.Pixels[px,py]);
Rouge:=0;
Vert:=0;
Bleu:=0;
Bleu:=Couleur div 65536;
Vert:=(Couleur-(Bleu*65536)) div 256;
Rouge:=(Couleur-(Bleu*65536))-(256*Vert);
moyenne:=(Rouge+Vert+Bleu) div 3;
Image1.Canvas.Pixels[px,py]:=RGB(moyenne,moyenne,moyenne);
end;
finally
Screen.Cursor := crDefault;
end;
end; |
|
Effet grisatre |
[ 02-10-2001 ] |
Effet
grisatre travaillant avec les pixels.
Télécharger : [6
Ko] [
pixels.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
procedure
TButton1Click(Sender: TObject);
var px,py:integer;
couleur1,couleur2:longint;
begin
Screen.Cursor := crHourglass;
try
For px:=0 to (Image1.width-1) do
For py:=0 to ((Image1.height-1) div 2)
do
begin
Couleur1:=Image1.Canvas.Pixels[px,py]; Couleur2:=Image1.Canvas.Pixels[px,(Image1.height-1)-py];
Image1.Canvas.Pixels[px,py]:=couleur2;
Image1.Canvas.Pixels[px,(Image1.height-1)-py]:=couleur1;
end;
finally
Screen.Cursor := crDefault;
end;
end; |
|
Effet miroir horizontal |
[ 02-10-2001 ] |
Effet
miroir horizontal travaillant avec les pixels.
Télécharger : [6
Ko] [
mirhoriz.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
procedure
TButton1Click(Sender: TObject);
var px,py:integer;
couleur1,couleur2:longint;
begin
Screen.Cursor := crHourglass;
try
For py:=0 to (Image1.height-1) do
For px:=0 to ((Image1.width-1) div 2)
do
begin
Couleur1:=Image1.Canvas.Pixels[px,py]; Couleur2:=Image1.Canvas.Pixels[(Image1.width-1)-px,py];
Image1.Canvas.Pixels[px,py]:=couleur2;
Image1.Canvas.Pixels[(Image1.width-1)-px,py]:=couleur1;
end;
finally
Screen.Cursor := crDefault;
end;
end; |
|
Effet miroir vertical |
[ 02-10-2001 ] |
Effet
miroir vertical travaillant avec les pixels.
Télécharger : [6
Ko] [
mirvert.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
procedure
TButton1Click(Sender: TObject);
var Rouge,vert,bleu,moyenne:byte;
px,py:word;
couleur:longint;
begin
Screen.Cursor := crHourglass;
try
For Py:=0 to (Image1.Height-1) do
For Px:=0 to (Image1.Width-1) do
begin
Couleur:=ColorToRGB(Image1.Canvas.Pixels[px,py]);
Rouge:=0;
Vert:=0;
Bleu:=0;
Bleu:=Couleur div 65536;
Vert:=(Couleur-(Bleu*65536)) div 256;
Rouge:=(Couleur-(Bleu*65536))-(256*Vert);
moyenne:=(Rouge+Vert+Bleu) div 3; Image1.Canvas.Pixels[px,py]:=RGB(0,0,moyenne);
end;
finally
Screen.Cursor := crDefault;
end;
end; |
|
Effet couleur bleu |
[ 02-10-2001 ] |
Effet
couleur bleu travaillant avec les pixels.
Télécharger : [6
Ko] [
pixelbleu.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
Changer une couleur avec une autre |
procedure
TButton1Click(Sender: TObject);
var px, py: Integer;
begin
Screen.Cursor := crHourglass;
For py := 0 to Image1.Picture.Bitmap.Height-1
do
begin
For px := 0 to Image1.Picture.Bitmap.Width-1
do
begin
if Image1.Picture.Bitmap.Canvas.Pixels[px,py] = clred
then
Image1.Picture.Bitmap.Canvas.Pixels[px,py] := clblue;
end;
end;
Screen.Cursor := crDefault;
end; |
|
Changer une couleur |
[ 02-10-2001 ] |
Changer
une couleur avec une autre en travaillent avec les pixels.
Télécharger : [7
Ko] [
changecoul.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
On utilise la fonction
PixelFormat dans un bitmap pour changer le nombre de bit ou pour connaitre
le nombre de bit.
procedure
TButton1Click(Sender: TObject);
begin
Image1.Picture.Bitmap.PixelFormat:=pf8bit;//Image
en 8 bit
end; |
|
PixelFormat |
[ 02-10-2001 ] |
Programme
utilisant la fonction pixelformat dans un bitmap.
Télécharger : [6
Ko] [
pixelformat.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
|