在不改变destImage的大小时,
destImage.canvas.copyrect没有问题.
当在copyrect前加上几行让destImage的height和width变小的代码后
copyrect函数没有对更改了大小的canvas作用,
仍然按没有改变大小的代码作用,
请问是为什么,怎么解决?

解决方案 »

  1.   

    改边大小后加一句destImage.repaint;
      

  2.   

    不起作用,
    image大小变了后
    destImage仍然在没有改变大小时的地方复制图片
    而不会跟着destImage的height和width变了后移动地方
    sourRect和destRect都没有变
      

  3.   

      d_Img.Width := 192;
      d_Img.Height:= 64;
      d_Img.Top := 0;
      d_Img.Left := 0; 
     
      with sRect do
      begin
        left := 0;
        right := 16;
        top := 0;
        bottom := 16;
      end;
      //源
      //目的
      with dRect do
      begin
        left := 0;
        right := 16;
        top := 0 ;
        bottom := 16;
      end;
      d_Img.Canvas.CopyRect(dRect,s_img.Canvas,sRect); 如果d_Img在属性里面的大小设定成192,64就没有错
     若是属性大于这个这个大小,执行完以上代码后就会有错
     用代码更改属性,没有实质上的作用
      

  4.   

      d_Img的大小变了,但是拷贝过来的区域没有随着d_Img大小的变化而变换坐标位置
      

  5.   

    谢谢大家了,因为d_img的center属性改成了true,改成false就好了