[C#][WinForm]如何切割圖片

41 篇文章 0 订阅
PictureBox[] picboxAry;

private voidForm1_Load(object sender, EventArgs e)
{
    pictureBox1.Image = Image.FromFile(@"G:\Blue hills.jpg");//先在form1中拉入pictureBox1並載入圖檔
    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
    picboxAry =new PictureBox[3];//產生PictureBox陣列
    splitImage(@"G:\",@"G:\",Image.FromFile(@"G:\Blue hills.jpg"), 200, 800);//切割
    for(Int32 i = 0; i < picboxAry.Length; i++)
    {
        picboxAry[i] =new PictureBox();
        picboxAry[i].Size =new Size(160, 100);//設定大小

        picboxAry[i].Location =new Point(pictureBox1.Width+10, 105 * i);//設定座標

        picboxAry[i].SizeMode = PictureBoxSizeMode.StretchImage;

        picboxAry[i].Image = Image.FromFile(@"G:\"+ 200 * i + ".jpg");

        this.Controls.Add(picboxAry[i]);

    }

 }

 

private voidsplitImage(String path,String file,Image img, Int32 sHeight, Int32 sWidth)

{

    Bitmap Mybmp =new Bitmap(sWidth, sHeight);

    Graphics gr = Graphics.FromImage(Mybmp);

    //重新繪製圖像並存檔

    for(Int32 y = 0; y < img.Height; y += sHeight)

    {

        for(Int32 x = 0; x < img.Width; x += sWidth)

        {

            gr.Clear(Color.Black);

            gr.DrawImage(img,new Rectangle(0, 0, Mybmp.Width, Mybmp.Height), x, y, sWidth, sHeight, GraphicsUnit.Pixel);

            gr.Save();

            Mybmp.Save(Path.Combine(path, file + y.ToString() +".jpg"));

        }

    }

}


这个要根据自己实际的情况修改,我已经用上了,不错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值