首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

把一幅图片切割成若干块并保存起来的有关问题

2012-03-08 
把一幅图片切割成若干块并保存起来的问题如题:但是我编写的代码总是提示说msCopyMode没定义?怎么回事?代码

把一幅图片切割成若干块并保存起来的问题
如题:
但是我编写的代码总是提示说msCopyMode没定义?怎么回事?
代码如下:

      procedure   TForm1.Button1Click(Sender:   TObject);
var
  source   :   TBitmap;
    i   :   Integer;
    j   :   Integer   ;
    sum   :   Integer   ;
    NewBmp:       TBitmap   ;
    str   :   string   ;
begin
    if   (edit1.text   =   ' ')   then
    begin
          showmessage( '请输入图片要转化的数量! ')   ;
          abort   ;
    end       ;
    try
        sum     :=   StrtoInt(edit1.text)   ;
    except
          showmessage( '您输入的不是合法字符的!要输入数字 ')   ;
    end   ;

    NewBmp       :=       TBitmap.Create;
    source   :=   TBitmap.Create   ;
    source.loadfromfile( 'E:\yuu.bmp ')     ;
    NewBmp.Width       :=       source.Width       div       sum;
    NewBmp.Height       :=       source.Height       div       sum;
    NewBmp.CopyMode       :=       cmSrcCopy;
    for       i:=0       to       sum     do
            for       j:=0       to       sum       do
            begin
                    NewBmp.Canvas.CopyRect(Rect(0,       0,       NewBmp.Width,       NewBmp.Height),       source.Canvas,
                                    Rect(NewBmp.Width*i,       NewBmp.Height*j,       NewBmp.Width*(i+1),       NewBmp.Height*(j+1))       );      
                    NewBmp.SaveToFile(       Format( '%d-%d.bmp ',       [i,       j])       );       //       我把文件存成了 "0-0.bmp ",       "0-1.bmp ",   ...的格式
            end;
       
    NewBmp.Free;
end;

end.


[解决办法]
帮你UP
[解决办法]
老大,你没想过吗,如果sum等于2,也就是用户想分割成两个,可你程序却分割成了四块,而到了for循环那里又分割成了3X3=9块了,Rect坐标都越界了吧估计
[解决办法]
//NewBmp.CopyMode := cmSrcCopy;

热点排行