Code:
procedure TForm1.Button2Click(Sender: TObject);
var //Hier wird das Bild in Image1 eingelesen
Jpeg: TJpegImage;
FBitmap:TBitmap;
begin
Jpeg := TJpegImage.Create;
try
Jpeg.LoadFromFile(edit1.text);
FBitmap := TBitmap.Create;
FBitmap.Assign(Jpeg);
Image1.Picture.Bitmap := FBitmap;
finally
Jpeg.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var farben:array of integer;
i,j,k:integer;
begin //Hier werden die Farbwerte ausgelesen
for i:= 1to 760 do begin
for j:= 1to 578 do begin
k:=k+1;
farben[k]:=image1.canvas.pixels[i,j]
end;
end;
end;
Haben diesen Code jetzt geschrieben und alles klappt einwandfrei bis zu "farben[k]:=image1.canvas.pixels[i,j]"
da kommt dann die Fehlermeldung "can only modify Image if it contains a bitmap" aber wir wollen die ja nicht modifizieren, sondern lediglich die Farbwerte auslesen. Zumal:
Oberhalb wurde ja bitmap bereits in Bezug gebracht zu Image1 und alles lief. Auch führt das Umwandeln des Bildes zu einer Bitmap lediglich zu einer anderen Fehlermeldung.
EDIT:
Also, wir haben jetzt noch diesen Codeteil hier hinzugefügt:
Code:
procedure TForm1.FormCreate(Sender: TObject);
VAR Bitmap : TBitmap;
begin
Bitmap := TBitmap.Create;
Bitmap.Width := 760;
Bitmap.Height := 578;
Image1.Picture.Graphic := Bitmap;
end;
und erhalten nun immer diesen Fehler:
'
Access violation at address 0046548C in module 'Project1.exe'. Write of address 010AB424.'
@Kiste:
Haben das mit dem TOpenDialog gefunden und wollten es gleich mal zum Test bringen, aber wenn ich des in mein Formblatt einfüge und das Programm starte erscheint das Teil nicht auf dem ausgeführten Programm...