rgb delphi



Автор Toyako задал вопрос в разделе Другие языки и технологии

Изображение, делфи 7, извлечение цвета, RGB, соотношение цветов, пиксели. и получил лучший ответ

Ответ от Зло[гуру]
чтобы не мучиться с форматом - загрузи в какой-нибудь bitmap и у него уже пиксели спрашивай

Ответ от ...[гуру]
TBitmap.Scanline

Ответ от Андрей Кукобако[новичек]
unit lab3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
OpenDialog1: TOpenDialog;
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: TForm1;
implementation
{$R *.dfm}
{Процедура перевода в чёрно белый спектр}
procedure TForm1.Button1Click(Sender: TObject);
var x,y,r,g,b:integer;
begin
for x := 0 to Image1.Width do
for y := 0 to Image1.Height do
begin
r:=getRvalue(Image1.Canvas.Pixels[x,y]);
g:=getGvalue(Image1.Canvas.Pixels[x,y]);
b:=getBvalue(Image1.Canvas.Pixels[x,y]);
Image1.Canvas.Pixels[x,y]:=RGB(round(r*0.3),round(g*0.59),round(b*0.11));
end;
end;
{Процедура перевода с зелёным оттенком}
procedure TForm1.Button2Click(Sender: TObject);
var x,y,r,g,b:integer;
begin
for x := 0 to Image1.ClientWidth do
for y := 0 to Image1.ClientHeight do
begin
r:=getRvalue(Image1.Canvas.Pixels[x,y]);
g:=getGvalue(Image1.Canvas.Pixels[x,y]);
b:=getBvalue(Image1.Canvas.Pixels[x,y]);
Image1.Canvas.Pixels[x,y]:=RGB(round(r*0.9),g,round(b*0.9));
end;
end;
{Процедура перевода в негатив}
procedure TForm1.Button3Click(Sender: TObject);
var x,y,r,g,b:integer;
begin
for x := 0 to Image1.Width do
for y := 0 to Image1.Height do
begin
r:=getRvalue(Image1.Canvas.Pixels[x,y]);
g:=getGvalue(Image1.Canvas.Pixels[x,y]);
b:=getBvalue(Image1.Canvas.Pixels[x,y]);
Image1.Canvas.Pixels[x,y]:=RGB(round(255-r),round(255-g),round(255-b));
end;
end;
{Процедура отражения}
procedure TForm1.Button4Click(Sender: TObject);
var i,j,r,g,b,r1,g1,b1:integer;
begin
for i:= 1 to Image1.Width do
for j:= 1 to Image1.Height do
begin
r:=GetRvalue(Image1.Canvas.Pixels[i,j]);
g:=GetGvalue(Image1.Canvas.Pixels[i,j]);
b:=GetBvalue(Image1.Canvas.Pixels[i,j]);
r1:=GetRvalue(Image1.Canvas.Pixels[i,j]);
g1:=GetGvalue(Image1.Canvas.Pixels[i,j]);
b1:=GetBvalue(Image1.Canvas.Pixels[i,j]);
Image1.Canvas.Pixels[i,j]:=Image1.Canvas.Pixels[Image1.Height-i,j];
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;
end.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Изображение, делфи 7, извлечение цвета, RGB, соотношение цветов, пиксели.
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*