谁用过Graphics32,帮忙看看! ( 积分: 200 )

  • 主题发起人 主题发起人 SmallGhost
  • 开始时间 开始时间
S

SmallGhost

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么在使用TBitmap32.DrawTo颜色不对了!
我的代码:
procedure TMainFrm.FormCreate(Sender: TObject);
begin
m_clTestBitmap := TBitmap32.Create;
m_clTestBitmap.LoadFromFile('Media/stoneweed.jpg');
end;

procedure TMainFrm.FormPaint(Sender: TObject);
var
srcRect,destRect: TRect;
begin
{}
destRect.Left := 100;
destRect.Right := 200;
destRect.Top := 100;
destRect.bottom := 200;
srcRect.Left := 0;
srcRect.Right := m_clTestBitmap.Width;
srcRect.Top := 0;
srcRect.Bottom := m_clTestBitmap.Height;

// 颜色不对
m_clTestBitmap.DrawTo(Canvas.Handle,destRect,srcRect);

// 如果用下面的代码颜色是对的
// m_clTestBitmap.DrawTo(Canvas.Handle,0,0);

end;
 
由于缩放的原因
 
如果非要进行缩放,那效果肯定会改变的,不缩放的时候当然没有问题:
procedure TForm1.FormPaint(Sender: TObject);
var
srcRect,destRect: TRect;
begin
{}
destRect.Left := 100;
destRect.Right := m_clTestBitmap.Width + 100;
destRect.Top := 100;
destRect.bottom := m_clTestBitmap.Height + 100;
srcRect.Left := 0;
srcRect.Right := m_clTestBitmap.Width;
srcRect.Top := 0;
srcRect.Bottom := m_clTestBitmap.Height;

// 颜色不对
m_clTestBitmap.DrawTo(Canvas.Handle,destRect,srcRect);

// 如果用下面的代码颜色是对的
// m_clTestBitmap.DrawTo(Canvas.Handle,0,0);
end;
 
后退
顶部