Ändere deinen Code mal so ab:
Hier die beiden Karten:
Delphi-Quellcode:
procedure tform1. paintbox2paint(sender:TObject);
begin
Bitmap2 := TBitmap.Create;
Bitmap2.LoadFromFile('laenderbunt.bmp');
//paintbox2.Canvas.Draw(0,0,Bitmap2);
//bitmap2.free; NICHT FREE!!
Bitmap1 := TBitmap.Create;
Bitmap1.LoadFromFile('laender.bmp');
paintbox2.Canvas.Draw(0,0,Bitmap1);
bitmap1.free;
end;
Und hier die Abfrage über die bitmap2
Delphi-Quellcode:
procedure TForm1.paintbox2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
with canvas do begin
if (X <= Bitmap2.Width) and (Y <= Bitmap2.Height) then
case Bitmap2.canvas.pixels[X, Y] of//Pixel vom Bitmap2 'laenderbunt.bmp' abfragen
clcream:label1.Caption:='Nordrhein-Westfalen';
$0005727A:label1.Caption:='Rheinland-Pfalz';
$006F6F11:label1.Caption:='Niedersachsen';
$00C551D9:label1.Caption:='Hessen';
$0031F97C:label1.Caption:='Baden-Würthemberg';
.....//mit diesen Farben sind die Bundesländer gefüllt.
end;end;end;
Ich hoffe mal das es auch bei dir irgendwann mal klappt.