为什么不用BitBlt: BitBlt(MyDC, Co*Image1.Picture.Width, Ro*Image1.Picture.Height, Image1.Picture.Width, Image1.Picture.Height, Image1.Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY);先载入图片: for i:=1 to 1 do begin for j := 1 to 6 do begin s:=Appdir+'\images\'+inttostr(i)+'0'+inttostr(j)+'.bmp'; AryBitmapA[i,j] :=TBitmap.Create; AryBitmapA[i,j].LoadFromFile(s); AryBitmapB[i,j] :=TBitmap.Create; AryBitmapB[i,j].LoadFromFile(Appdir+'\images\'+inttostr(i)+'0'+inttostr(i)+'0'+inttostr(j)+'.bmp'); Aryimage[i,j].Width:=AryBitmapA[i,j].Width; Aryimage[i,j].Height :=AryBitmapA[i,j].Height ; Aryimage[i,j].Canvas.Draw(0,0, AryBitmapA[i,j]); end; end;绘画图片:(功能当鼠标停在图片上时增亮显示) function Tfrmquery.invertbmpc( image: Timage; bmp: TBitmap):Boolean; var numm: integer; i: integer; begin try image.Repaint; numm:= Bmp.Width; bmp.Transparent:=true; bmp.TransparentColor:=$00F5FEF5; for i:=0 to numm do begin bitblt(image.canvas.handle,i,0,i,bmp.height, bmp.canvas.handle,i,0,srccopy); end; bmp.TransparentMode := tmAuto; // Transparent color now is clDefault = TColor($20000000); for i:=0 to numm do begin bitblt(image.canvas.handle,i,0,i,bmp.height, bmp.canvas.handle,i,0,srccopy); end; finally end;end;
BitBlt(MyDC, Co*Image1.Picture.Width, Ro*Image1.Picture.Height,
Image1.Picture.Width, Image1.Picture.Height,
Image1.Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY);先载入图片:
for i:=1 to 1 do
begin
for j := 1 to 6 do
begin
s:=Appdir+'\images\'+inttostr(i)+'0'+inttostr(j)+'.bmp';
AryBitmapA[i,j] :=TBitmap.Create;
AryBitmapA[i,j].LoadFromFile(s);
AryBitmapB[i,j] :=TBitmap.Create;
AryBitmapB[i,j].LoadFromFile(Appdir+'\images\'+inttostr(i)+'0'+inttostr(i)+'0'+inttostr(j)+'.bmp');
Aryimage[i,j].Width:=AryBitmapA[i,j].Width;
Aryimage[i,j].Height :=AryBitmapA[i,j].Height ;
Aryimage[i,j].Canvas.Draw(0,0, AryBitmapA[i,j]);
end;
end;绘画图片:(功能当鼠标停在图片上时增亮显示) function Tfrmquery.invertbmpc( image: Timage; bmp: TBitmap):Boolean;
var
numm: integer;
i: integer;
begin
try
image.Repaint;
numm:= Bmp.Width;
bmp.Transparent:=true;
bmp.TransparentColor:=$00F5FEF5;
for i:=0 to numm do
begin
bitblt(image.canvas.handle,i,0,i,bmp.height,
bmp.canvas.handle,i,0,srccopy);
end;
bmp.TransparentMode := tmAuto; // Transparent color now is clDefault = TColor($20000000);
for i:=0 to numm do
begin
bitblt(image.canvas.handle,i,0,i,bmp.height,
bmp.canvas.handle,i,0,srccopy);
end;
finally end;end;