【发布时间】:2017-03-28 11:54:05
【问题描述】:
我有这样的感冒:
Bitmap bmp = new Bitmap(width, height);
我只是捕捉窗口。现在我只想调整这个捕获的位图(bmp)。 例如,我怎样才能削减我的 bmp
RECT rt = new RECT();
GetWindowRect(hwnd1, out rt);
Int32 width = rt.Right - rt.Left;
Int32 height = rt.Bottom - rt.Top;
int leftttt = rt.Left + (width - 202);
int width2 = rt.Right - leftttt;
// // I want cut like this :
//
// in x=lefttt y = rt.Top Size ( width2,height)
稍后我可以通过以下方式轻松保存文件以检查我的结果:(但不会仅用于检查)
bmp.Save(@"D:\test.jpg", ImageFormat.Jpeg);
编辑:我只想剪切而不是调整大小。 当我做代码时:
var graph = Graphics.FromImage(scren_kurwa.Image);
graph.DrawImage(bmp.Image, 10, 10, 200, 200);
我保存它只是覆盖我的 bmp 屏幕,只是在较小的版本中捕获。
我只想剪切,例如我只想显示此屏幕宽度的 1/4 并将其保存到文件中。 (只需节省 1/4 宽度即可)。
编辑 2:
graph.CopyFromScreen(leftttt, rt.Top, 0, 0, new Size(width2, height), CopyPixelOperation.SourceCopy);
上面的这段代码只是做我想做的,但我不想再从屏幕复制我想从之前捕获的 bmp 复制这个。
新手请耐心等待。我搜索了论坛,只是找不到解决方案。 谢谢。
编辑 3 我只是按照你写的那样做:
Rectangle cropRect = new Rectangle(100,100,100,100);
Bitmap bmp1 = new Bitmap(bmp1.Image);
bmp1.Clone(cropRect, bmp.PixelFormat);
bmp1.Save(@"D:\xdddde.jpg", ImageFormat.Jpeg);
但它不会剪切图像,只是显示与我的 bmp 相同。
【问题讨论】:
-
没有重复,他们展示了如何调整大小,只有我想要一个新的 bmpfile (cutter)