Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2011, 23:13   #1
Luxian
Пользователь
 
Регистрация: 30.09.2009
Сообщений: 13
По умолчанию коментарии к строчкам программы на Delphi

Ребята ....кто может прошу помощи .... нужно описание к строчкам то-есть что делает каждая строчка .......помогите пожалуйста

Код:
it Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, ExtDlgs;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    ProgressBar1: TProgressBar;
    Button2: TButton;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
  Bitmap: TBitmap;

procedure TForm1.Button1Click(Sender: TObject);
var C: TColor;
var i, j, R, G, B, H, W, t: integer;
    FR, FG, FB, GR, GG, GB : real;
begin
  W:= Form1.Image1.Width-1;
  H:= Form1.Image1.Height-1;
  for i:=1 to W do
  begin
    for j:=1 to H do
    begin
      C:=Form1.Image1.Canvas.Pixels[i,j];
      R:=GetRValue(C);
      G:=GetGValue(C);
      B:=GetBValue(C);
      FR:=1-R/255;
      FG:=1-G/255;
      FB:=1-B/255;
      if FR < 0.1 then
      GR:=1 else GR:=0.1/FR;
      if FG < 0.1 then
      GG:=1 else GG:=0.1/FG;
      if FB < 0.1 then
      GB:=1 else GB:=0.1/FB;
      R:=Round(GR*255);
      G:=Round(GG*255);
      B:=Round(GB*255);
      if R > 255 then R:=255;
      if G > 255 then G:=255;
      if B > 255 then B:=255;
      if R < 0 then R:=0;
      if G < 0 then G:=0;
      if B < 0 then B:=0;
      Form1.Image1.Canvas.Pixels[i,j]:=RGB(R,G,B);
      ProgressBar1.Position:=Round((i*H)/(W*H)*100);

    end;
  end;
  ShowMessage('Complete');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if Form1.OpenDialog1.Execute then
  begin
    bitmap := TBitmap.Create;
    bitmap.LoadFromFile(OpenDialog1.FileName);
    Form1.Image1.Canvas.Draw(0, 0, bitmap);
  end;
end;

end.
Luxian вне форума Ответить с цитированием
Старый 23.02.2011, 00:02   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Button2 ещё понятно, а по поводу button1 могу лишь посоветовать хорошую статью: http://www.gunsmoker.ru/2011/01/blog-post.html
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Коментарии программы Devil_Boy Помощь студентам 2 20.10.2010 18:36
коментарии shelest Помощь студентам 1 31.05.2010 18:33
Помогите написать коментарии к строчкам Программы Luxian Помощь студентам 2 20.10.2009 18:55
C++. нужни коментарии к коду программы Myau Thai Помощь студентам 1 04.06.2009 19:32