|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как передать значение из функции в процедуру?
При решении арифметических действий параметры передаются нормально.При передаче цвета пикселя по координатам,значение меняется.
На форме 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. |
#2
|
|||
|
|||
Вопрос решил:
Код:
d3:=Image1.Picture.Bitmap.Canvas.Pixels[x,y]; Result:=d3; |