关于c# bitmap图像截取问题
想要截取一个bitmap的一部分没比如一个长150宽200的图取图片中间部分,截取成150*150的图,我的代码如下:intbw=bmp.Width;//原图宽intbh...
想要截取一个bitmap的一部分没比如一个长150宽200 的图 取图片中间部分,截取成150*150的图 ,我的代码如下:
int bw = bmp.Width;//原图宽
int bh = bmp.Height;//原图高
Bitmap bmp2 = new Bitmap(bmp);
Graphics g = Graphics.FromImage(bmp2);
bmp2 = new Bitmap(bmp, bh, bh);
int startx = (bw - bh) / 2;
g.Clear(System.Drawing.Color.White);
g.DrawImage(bmp, new System.Drawing.Rectangle(0, 0, bh, bh), new System.Drawing.Rectangle(startx, 0, bh, bh), GraphicsUnit.Pixel);
bmp2.Save(path);
g.Dispose();
bmp2.Dispose();
bmp.Dispose();
但得到的图只是把原图压扁了一些,并不是我想要的截取中间部分,搞了半天了,求大神指点! 展开
int bw = bmp.Width;//原图宽
int bh = bmp.Height;//原图高
Bitmap bmp2 = new Bitmap(bmp);
Graphics g = Graphics.FromImage(bmp2);
bmp2 = new Bitmap(bmp, bh, bh);
int startx = (bw - bh) / 2;
g.Clear(System.Drawing.Color.White);
g.DrawImage(bmp, new System.Drawing.Rectangle(0, 0, bh, bh), new System.Drawing.Rectangle(startx, 0, bh, bh), GraphicsUnit.Pixel);
bmp2.Save(path);
g.Dispose();
bmp2.Dispose();
bmp.Dispose();
但得到的图只是把原图压扁了一些,并不是我想要的截取中间部分,搞了半天了,求大神指点! 展开
1个回答
展开全部
string path = @"C:\Users\huaping\Desktop\test.jpg";
Bitmap img = (Bitmap)Image.FromFile(path);
Bitmap newImg = new Bitmap(150,150);
Graphics g = Graphics.FromImage(newImg);
// 结果 x起点 y起点 要绘制的原图的部分的矩形 所用单位
g.DrawImage(img, 0, 0, new Rectangle(150, 150, newImg.Width, newImg.Height), GraphicsUnit.Pixel);
string savePath = @"C:\Users\huaping\Desktop\new.jpg";
newImg.Save(savePath);
g.Dispose();
newImg.Dispose();
img.Dispose();
Bitmap img = (Bitmap)Image.FromFile(path);
Bitmap newImg = new Bitmap(150,150);
Graphics g = Graphics.FromImage(newImg);
// 结果 x起点 y起点 要绘制的原图的部分的矩形 所用单位
g.DrawImage(img, 0, 0, new Rectangle(150, 150, newImg.Width, newImg.Height), GraphicsUnit.Pixel);
string savePath = @"C:\Users\huaping\Desktop\new.jpg";
newImg.Save(savePath);
g.Dispose();
newImg.Dispose();
img.Dispose();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询