卷起千堆雪帮我看一下!TBitmap.Canvas.CopyRect怎样才能拷贝真彩色图片? (200分)

  • 主题发起人 drawpharos
  • 开始时间
D

drawpharos

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TBitmap的CopyRect方法拷贝TImage真彩色位图的一部分图片
但拷贝到目的地后变成了很难看的256色图,有什么办法可以拷贝成真彩色图?

还有一个小问题,怎样把一个剪贴板里的位图赋给TBitmap
剪贴板的BitmapFormat该如何设置?
 
....
MyBitmap.PixelFormat:=pf32bit;
....
 
Image1.Picture.LoadFromFile('Image1.bmp');
// Image2.Canvas.StretchDraw(Rect,Image1.Picture.Graphic);
Image2.Picture.Bitmap.PixelFormat:=pf24bit;
Image2.Picture.Bitmap.Canvas.CopyRect(DRect,Image1.Picture.Bitmap.Canvas,SRect);
但是拷贝的新图形颜色仍然很难看,几乎看不成!
我该怎么办?
 
把剪贴板里的位图赋给TBitmap,
可以:
uses clipbrd;
if clipboard.HasFormat(CF_BITMAP) then
image1.Picture.Bitmap.Assign(clipboard);
 
有了 pf24bit 这句,应该不会吧?

你还可以用一个中间 TBitmap 来试试。
 
canvas.copymode:=cmPatCopy
 
多人接受答案了。
 
顶部