
20.03.2012, 22:07
|
 |
.
|
|
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
|
|
Прекрасно всё работает:
Код:
unit Unit28;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ExtDlgs;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
Button3: TButton;
OpenPictureDialog1: TOpenPictureDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
bp, bp1 : TBitmap;
pic: array of array of TColor;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
I, J : Integer;
begin
if (OpenPictureDialog1.Execute) and FileExists(OpenPictureDialog1.FileName) then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
bp := TBitmap.Create;
bp.LoadFromFile(OpenPictureDialog1.FileName);
end;
SetLength(pic, bp.Width, bp.Height);
for I := 0 to bp.Width - 1 do
for J := 0 to bp.Height - 1 do
pic[I, J] := bp.Canvas.Pixels[I, J];
end;
procedure TForm1.Button2Click(Sender: TObject);
var
I, J : Integer;
begin
for I := 0 to bp.Width - 1 do
for J := 0 to bp.Height - 1 do
Form1.Canvas.Pixels[I, J] := pic[I, J];
end;
procedure TForm1.Button3Click(Sender: TObject);
var
I, J : Integer;
begin
bp1 := TBitmap.Create;
bp1.Width := bp.Width;
bp1.Height := bp.Height;
for I := 0 to bp1.Width - 1 do
for J := 0 to bp1.Height - 1 do
bp1.Canvas.Pixels[I, J] := pic[I, J];
bp1.SaveToFile('ball_new.bmp');
end;
end.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
|