07.02.2020, 06:34
|
Прохожий
|
|
Регистрация: 22.12.2018
Сообщения: 13
Версия Delphi: Delphi 14
Репутация: 10
|
|
Как передать значение из функции в процедуру?
При решении арифметических действий параметры передаются нормально.При передаче цвета пикселя по координатам,значение меняется.
На форме TImage и Label:
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, pngimage;
type
TForm2 = class(TForm)
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function d(x, y:integer):integer;
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var i,x,y:integer;
Color: TColor;
begin
x:=40;
y:=20;
Image1.Picture.LoadFromFile('1.bmp');
//color:=Image1.Picture.Bitmap.Canvas.Pixels[x,y];
i:=d(x,y);
Label1.Caption:=IntToStr(i);// Label1.Caption:=IntToHex(color,1);// белый 16777215
end;
function TForm2.d(x, y: integer): integer;
var d3: TColor;
d2 ,d: String;
begin
d3:=Image1.Picture.Bitmap.Canvas.Pixels[x,y];
//Label1.Caption:=IntToStr(d3);// здесь нормально возвращает значение
d:= IntToStr(d3);
//d:=x+y*x; //Присваиваем функции сумму переменных
end;
end.
|